在存量数据迁移至OSS后,您可以通过配置重定向,确保用户可以访问未迁移至OSS的增量数据,避免影响业务数据的正常访问。配置重定向规则后,当请求者访问Bucket中不存在的文件(Object)时,OSS会自动将请求重定向至回源规则指定的源站获取内容。

使用限制

  • 规则数量

    回源规则最多配置20条,按RuleNumber的先后顺序依次匹配。如果命中当前规则,则后续规则不再匹配。规则未命中表示没有匹配回源条件,与回源后是否成功获取目标文件无关。

  • 回源地址

    回源地址不支持内网地址。

使用流程

重定向功能的作用是根据设置的回源条件,以及相应的跳转的配置,向用户返回一个3xx跳转。具体流程如下图所示。

image

使用场景

  • 其他数据源向OSS的无缝迁移

    当您将客户端的数据源异步地迁移至OSS,在此过程中未迁移到OSS的数据通过URL重写的方式返回给用户一个302重定向请求,您的客户端根据302中的Location从数据源读取数据。

  • 配置页面跳转功能

    例如,您希望隐藏某些前缀开头的Object,给请求者返回一个特殊的页面。

  • 配置发生404或500错误时的跳转页面

    发生404或500错误时,请求者可以看到一个预先设定的页面。不在系统发生错误时向请求者完全暴露OSS错误。

使用OSS控制台

当访问者访问Bucket出错时,可以通过指定回源条件和回源地址,跳转到源站继续访问。例如您在华东1(杭州)有名为examplebucket的Bucket,您希望请求者访问Bucket根目录下examplefolder目录中的文件不存在时,跳转到https://www.example.com/站点的examplefolder目录获取目标文件。

  1. 登录OSS管理控制台

  2. 单击Bucket 列表,然后单击目标Bucket名称。

  3. 在左侧导航栏,选择数据管理 > 镜像回源

  4. 镜像回源页面,单击创建规则

  5. 创建规则面板,按以下说明配置必要参数,其他参数保留默认配置。

    参数

    配置

    回源类型

    选中重定向

    回源条件

    • 选中HTTP状态码,并设置为404

      HTTP状态码的取值范围为400~599。各状态码代表的错误信息,请参见错误码概述

    • 选中文件名前缀,并设置为examplefolder/

      说明

      配置单条回源规则时文件名前缀和后缀可选填;配置多条回源规则时,必须设置不同的文件名前缀或后缀区分不同的回源规则。

    回源地址

    选择添加前后缀,并将第一列设置为https,第二列设置为www.example.com,其他置空。

  6. 单击确定

    规则配置完成后的访问流程如下:

    1. 请求者首次访问https://examplebucket.oss-cn-hangzhou.aliyuncs.com/examplefolder/example.txt

    2. 如果examplebucket中不存在examplefolder/example.txt文件,则OSS向请求者返回301状态码,并提供重定向的地址https://www.example.com/examplefolder/example.txt

    3. 请求者访问https://www.example.com/examplefolder/example.txt

    如果您还涉及以下使用场景,可按场景配置以下参数:

    场景

    参数

    OSS文件名前缀与源站不一致。

    选中是否替换或截取前缀,并设置回源地址第三列内容。OSS会将文件名前缀的内容替换为回源地址第三列的内容。

    配置文件名前缀后可配置此项。

    将OSS请求中的queryString传递到源站。

    选中携带请求字符串

    需要替换重定向状态码。

    重定向规则默认状态码为301,您可以在重定向Code下拉框将状态码修改为302307

    重定向请求来源为阿里云CDN。

    选择是否选中来源为阿里CDN

    重定向来源为阿里云CDN的时候,如果选中来源为阿里CDN,CDN会自动去跟随重定向规则再去拉取内容;如果不选中来源为阿里CDN,则CDN直接返回重定向的地址给客户端。