在存量数据迁移至OSS后,您可以通过配置重定向,确保用户可以访问未迁移至OSS的增量数据,避免影响业务数据的正常访问。配置重定向规则后,当请求者访问Bucket中不存在的文件(Object)时,OSS会自动将请求重定向至回源规则指定的源站获取内容。
使用限制
规则数量
回源规则最多配置20条,按RuleNumber的先后顺序依次匹配。如果命中当前规则,则后续规则不再匹配。规则未命中表示没有匹配回源条件,与回源后是否成功获取目标文件无关。
回源地址
回源地址不支持内网地址。
使用流程
重定向功能的作用是根据设置的回源条件,以及相应的跳转的配置,向用户返回一个3xx跳转。具体流程如下图所示。
使用场景
其他数据源向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目录获取目标文件。
登录OSS管理控制台。
单击Bucket 列表,然后单击目标Bucket名称。
在左侧导航栏,选择 。
在镜像回源页面,单击创建规则。
在创建规则面板,按以下说明配置必要参数,其他参数保留默认配置。
参数
配置
回源类型
选中重定向。
回源条件
选中HTTP状态码,并设置为404。
HTTP状态码的取值范围为400~599。各状态码代表的错误信息,请参见错误码概述。
选中文件名前缀,并设置为examplefolder/。
说明配置单条回源规则时文件名前缀和后缀可选填;配置多条回源规则时,必须设置不同的文件名前缀或后缀区分不同的回源规则。
回源地址
选择添加前后缀,并将第一列设置为https,第二列设置为www.example.com,其他置空。
单击确定。
规则配置完成后的访问流程如下:
请求者首次访问
https://examplebucket.oss-cn-hangzhou.aliyuncs.com/examplefolder/example.txt
。如果examplebucket中不存在examplefolder/example.txt文件,则OSS向请求者返回301状态码,并提供重定向的地址
https://www.example.com/examplefolder/example.txt
。请求者访问
https://www.example.com/examplefolder/example.txt
。
如果您还涉及以下使用场景,可按场景配置以下参数:
场景
参数
OSS文件名前缀与源站不一致。
选中是否替换或截取前缀,并设置回源地址第三列内容。OSS会将文件名前缀的内容替换为回源地址第三列的内容。
配置文件名前缀后可配置此项。
将OSS请求中的queryString传递到源站。
选中携带请求字符串。
需要替换重定向状态码。
重定向规则默认状态码为301,您可以在重定向Code下拉框将状态码修改为302或307。
重定向请求来源为阿里云CDN。
选择是否选中来源为阿里CDN。
重定向来源为阿里云CDN的时候,如果选中来源为阿里CDN,CDN会自动去跟随重定向规则再去拉取内容;如果不选中来源为阿里CDN,则CDN直接返回重定向的地址给客户端。