简介
您可以通过对象存储(Cloud Object Storage,COS)控制台,对存储桶设置回源规则,当您请求的对象在存储桶中不存在或者需要对特定的请求进行重定向时,您可以通过回源规则从 COS 访问到对应的数据。设置回源主要用于数据的热迁移、特定请求的重定向等场景,您可以按照自身实际需要进行设置。
说明
- 回源拉取数据的成功率依赖网络环境,请优先使用电信、移动、联通等 IP 段。
- 金融云地域的存储桶不支持回源设置。

回源规则
触发条件
- 异步回源和同步回源模式下,仅当请求返回404时触发回源。
- 重定向模式下,用户可以自定义400~599的 HTTP 状态码来触发回源。
访问源站
- 异步回源和同步回源模式下可以设置是否将访问 COS 的 QueryString 和 Header 信息透传给源站,以及添加请求源站时携带额外的 Header 信息。重定向模式只支持设置 QueryString 是否透传。
- 如果在 GET 操作时指定了 GET range,COS 将会在原请求之外再发送一个不带 range 的异步请求以获取完整的对象数据存入 COS 中。
响应和存储
支持源站以 chunked 编码返回数据。
如果源站返回404状态码,将透传回 COS 返回给用户。如果开启了3xx跟随策略,源站返回3XX状态码时将到另一源站拉取数据。如果源站返回其他非2XX的状态码,COS 将返回424。
回源返回的文件将以请求源站时使用的文件名存入 COS 中。例如某用户请求的文件 example.jpg 不在存储桶中,COS 将触发回源机制到用户设置的回源地址
http://origin.com/example.jpg拉取文件,并将存入存储桶中的文件命名为 example.jpg。存入 COS 的新对象将包含以下元数据,数据内容跟随源站数值:
cache-control content-disposition content-encoding content-type expires x-cos-meta-*
操作步骤
登录对象存储桶控制台。
在左侧导航栏中,单击存储桶列表,进入存储桶列表页面。
单击需要设置回源的存储桶,进入存储桶详情页面。
在左侧导航栏中,选择基础配置 > 回源设置,单击添加回源规则。
在弹出的窗口中,配置如下信息。
回源 Endpoint:支持填入域名或 IP 地址。无需加上前缀
http://或https://。
正确示例地址如下:abc.example.com abc.example.com:8080 202.96.128.86 202.96.128.86:8080备份回源 Endpoint:支持设置备份回源地址,输入格式可参照回源Endpoint配置项说明。
回源模式:可根据实际需求选择回源模式。
- 同步回源:当请求在 COS 中查找文件不存在,则 COS 会从指定源站查找文件,将该文件返回给用户端并上传到存储桶。
- 重定向:当请求访问存储桶时有指定报错,则 COS 会把重定向地址返回给用户端,并且不保存源站的文件。用户端通过重定向地址,向源站请求访问资源。
回源条件:可按需求选择触发回源的条件,触发回源需同时满足配置的所有回源条件。
- HTTP 状态码 404:选择异步回源或者同步回源时,当 HTTP 状态码为404时触发回源,该项为必选且不可取消。选择重定向回源模式时,可输入400~599的 HTTP 状态码。
- 文件名前缀:当请求的文件名前缀匹配时,可触发回源规则。例如:设置文件名前缀为 prefix,则访问
https://examplebucket-1250000000.cos.city.yfm4.fsphere.cn/prefix123.jpg并且返回的 HTTP 状态码为404时,会触发回源规则。
回源协议:COS 访问您指定的源站时所使用的 HTTP 协议,可选项为强制 HTTPS、强制 HTTP 和跟随请求协议。
- 选择强制 HTTPS/HTTP,则 COS 会以 HTTPS/HTTP 协议访问您的源站。
- 选择跟随请求协议,COS 会以您请求 COS 所使用的协议访问您的源站。
请求 queryString:是否将访问 COS 时携带的 queryString 请求参数透传到源站。
请求头部:可选择透传所有请求头部或者透传指定请求头部。若选择透传所有请求头部,建议配置禁止透传host头部,此处支持一键配置。
透传指定请求头部:当选择透传指定请求头部时,则需要设置该项。此处可以添加您想透传给源站的请求中带有的头部信息。若选择重定向回源类型,则不设置该项。
不透传指定请求头部:此处可以添加您不想透传给源站的请求中带有的头部信息。若选择重定向回源类型,则不设置该项。
新增请求头部:此处可以额外添加当回源源站时携带的请求头部。如选择重定向回源类型则不设置该项。
回源路径:您可以选择是否设置具体跳转的文件或文件路径。配置项说明如下:
- 固定文件:当触发回源规则时,将全部跳转至固定的文件。
- 指定前缀/指定后缀:当触发回源规则时,将跳转至指定前后缀的文件路径。例如指定前缀为
test,访问https://examplebucket-1250000000.cos.city.yfm4.fsphere.cn/path/prefix123.jpg时触发回源规则,则会跳转至<回源地址>/test/path/prefix123.jpg;例如指定后缀为.jpg,访问https://examplebucket-1250000000.cos.city.yfm4.fsphere.cn/path/prefix123时触发回源规则,则会跳转至<回源地址>/path/prefix123.jpg;注意
指定前缀和指定后缀的配置可以同时生效。
3xx跟随策略:同步回源模式可见。开启后,当源站返回了 3XX 重定向状态码时,COS 的默认处理策略为跟随 3XX 再次到另一个源站拉取数据,选择关闭则不会拉取资源。
重定向状态码:重定向模式可见。301、302、307可选。
规则优先级:通过优先级区分规则执行先后,优先级越大,越先匹配;优先级不可重复。
确认配置的回源规则无误,单击确定。
当您添加完规则后,系统将为您的新规则分配最高优先级;COS 将按照最高优先级的规则回源;此外您也可以在规则列表页面,单击修改按钮调整优先级。
示例
背景
APPID 为 1250000000 的用户创建名为 examplebucket-1250000000 的存储桶:
examplebucket-1250000000.cos.city.yfm4.fsphere.cn
设置存储桶回源地址为:
abc.example.com
在源站http://abc.example.com存放图片 picture.jpg。
客户端首次访问(未开启同步回源):
http://examplebucket-1250000000.cos.city.yfm4.fsphere.cn/picture.jpg
COS 发现无法命中对象时,对客户端返回 302 HTTP 状态码并跳转至如下地址:
http://abc.example.com/picture.jpg
客户端首次访问(开启同步回源):
http://examplebucket-1250000000.cos.city.yfm4.fsphere.cn/picture.jpg
COS 发现无法命中对象时,对客户端返回 200 HTTP 状态码并跳转至如下地址:
http://abc.example.com/picture.jpg
此时对象由源站提供给客户端,保证访问。同时 COS 从源站复制 picture.jpg 并保存至存储桶 example 的根目录中。
第二次访问:
http://examplebucket-1250000000.cos.city.yfm4.fsphere.cn/picture.jpg
COS 直接命中根目录下 picture.jpg 对象并返回给客户端。