简介
您可以通过对象存储(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-controlcontent-dispositioncontent-encodingcontent-typeexpiresx-cos-meta-*
操作步骤
1. 登录 对象存储桶控制台。
2. 在左侧导航栏中,单击存储桶列表,进入存储桶列表页面。
3. 单击需要设置回源的存储桶,进入存储桶详情页面。
4. 在左侧导航栏中,选择基础配置 > 回源设置,单击添加回源规则。
5. 在弹出的窗口中,配置如下信息,单击下一步。
回源模式:可根据实际需求选择回源模式。
异步回源:当请求在 COS 中查找文件不存在,则 COS 会从指定源站查找文件。异步回源模式下,COS查找文件不存在后返回 302 到客户端 ,由客户端跳转至指定源站,再异步将文件上传至 COS存储桶。
说明:
异步回源不直接返回文件,而是先返回 302 到客户端 ,再异步将文件上传至 COS。
1. 建议客户端开启 Follow 302,从源站拉取数据。
2. 文件上传时间受多重因素影响,无法承诺 SLA。建议要求时效性的用户选择同步回源。
同步回源:当请求在 COS 中查找文件不存在,则 COS 会从指定源站查找文件,将该文件返回给用户端并上传到存储桶。
注意:
使用同步回源时,只有完整下载文件并返回状态码200的情况下才能保证时效性。如果客户端是通过 range 请求访问文件,则无法保证时效性。
重定向:当请求访问存储桶时有指定报错,则 COS 会把重定向地址返回给用户端,并且不保存源站的文件。用户端通过重定向地址,向源站请求访问资源。
回源条件:可按需求选择触发回源的条件,触发回源需同时满足配置的所有回源条件。
HTTP 状态码 404:选择异步回源或者同步回源时,当 HTTP 状态码为404时触发回源,该项为必选且不可取消。选择重定向回源模式时,可输入400~599的 HTTP 状态码。
文件名前缀:当请求的文件名前缀匹配时,可触发回源规则。例如:设置文件名前缀为 prefix,则访问
https://examplebucket-1250000000.cos.ap-chengdu.myqcloud.com/prefix123.jpg
并且返回的 HTTP 状态码为404时,会触发回源规则。回源协议:COS 访问您指定的源站时所使用的 HTTP 协议,可选项为强制 HTTPS、强制 HTTP 和跟随请求协议。
选择强制 HTTPS/HTTP,则 COS 会以 HTTPS/HTTP 协议访问您的源站。
选择跟随请求协议,COS 会以您请求 COS 所使用的协议访问您的源站。
请求参数:是否将访问 COS 时携带的 queryString 请求参数透传到源站。
请求头部:可选择透传所有请求头部或者透传指定请求头部。若选择透传所有请求头部,建议配置禁止透传host头部,此处支持一键配置。
透传指定请求头部:当选择透传指定请求头部时,则需要设置该项。此处可以添加您想透传给源站的请求中带有的头部信息。若选择重定向回源类型,则不设置该项。
禁止透传指定请求头部:此处可以添加您不想透传给源站的请求中带有的头部信息。若选择重定向回源类型,则不设置该项。
新增请求头部:此处可以额外添加当回源源站时携带的请求头部。如选择重定向回源类型则不设置该项。
6. 根据所选的回源模式,选择配置如下信息,单击下一步。
回源地址:只需填入域名或 IP 地址,支持域名或 IP 地址后面添加端口号。无需加上前缀
http://
或https://
。
正确示例地址如下:abc.example.comabc.example.com:8080202.96.128.86202.96.128.86:8080
备份回源地址:支持设置备份回源地址,输入格式可参照回源地址配置项说明。此配置取决于存储桶所在地域,若该地域支持,则可配置,否则不能配置。
地址设置:您可以选择是否设置具体跳转的文件或文件路径。配置项说明如下:
固定文件设置:当触发回源规则时,将全部跳转至固定的文件。
前后缀设置:当触发回源规则时,将跳转至指定前后缀的文件路径。例如指定前缀为
test
,访问 https://examplebucket-1250000000.cos.ap-chengdu.myqcloud.com/path/prefix123.jpg
时触发回源规则,则会跳转至 <回源地址>/test/path/prefix123.jpg
;例如指定后缀为.jpg
,访问 https://examplebucket-1250000000.cos.ap-chengdu.myqcloud.com/path/prefix123
时触发回源规则,则会跳转至 <回源地址>/path/prefix123.jpg
;注意:
指定前缀和指定后缀的配置可以同时生效。
3xx 跟随策略:开启后,当源站返回了 3XX 重定向状态码时,COS 的默认处理策略为跟随 3XX 再次到另一个源站拉取数据,选择关闭则不会拉取资源。
注意:
当源站返回的 3XX 重定向到内网地址时,COS不会进行跟随。同步回源模式下,COS不会跟随到重定向的内网地址;异步回源及重定向模式下,内网地址返回后需要业务判断跟随或关闭跳转。
回源地址:只需填入域名或 IP 地址,支持域名或 IP 地址后面添加端口号。无需加上前缀
http://
或https://
。
正确示例地址如下:abc.example.comabc.example.com:8080202.96.128.86202.96.128.86:8080
备份回源地址:支持设置备份回源地址,输入格式可参照回源地址配置项说明。此配置取决于存储桶所在地域,若该地域支持,则可配置,否则不能配置。
地址设置:您可以选择是否设置具体跳转的文件或文件路径。配置项说明如下:
固定文件设置:当触发回源规则时,将全部跳转至固定的文件。
前后缀设置:当触发回源规则时,将跳转至指定前后缀的文件路径。例如指定前缀为
test
,访问 https://examplebucket-1250000000.cos.ap-chengdu.myqcloud.com/path/prefix123.jpg
时触发回源规则,则会跳转至 <回源地址>/test/path/prefix123.jpg
;例如指定后缀为.jpg
,访问 https://examplebucket-1250000000.cos.ap-chengdu.myqcloud.com/path/prefix123
时触发回源规则,则会跳转至 <回源地址>/path/prefix123.jpg
;注意:
指定前缀和指定后缀的配置可以同时生效。
3xx 跟随策略:开启后,当源站返回了 3XX 重定向状态码时,COS 的默认处理策略为跟随 3XX 再次到另一个源站拉取数据,选择关闭则不会拉取资源。
源站回包:开启该功能后,会直接返回源站回包,包括状态码等信息。此配置取决于存储桶所在地域,若该地域支持,则可配置,否则不能配置。
回源地址:只需填入域名或 IP 地址,支持域名或 IP 地址后面添加端口号。无需加上前缀
http://
或https://
。
正确示例地址如下:abc.example.comabc.example.com:8080202.96.128.86202.96.128.86:8080
地址设置:您可以选择是否设置具体跳转的文件或文件路径。配置项说明如下:
固定文件设置:当触发回源规则时,将全部跳转至固定的文件。
前后缀设置:当触发回源规则时,将跳转至指定前后缀的文件路径。例如指定前缀为
test
,访问 https://examplebucket-1250000000.cos.ap-chengdu.myqcloud.com/path/prefix123.jpg
时触发回源规则,则会跳转至 <回源地址>/test/path/prefix123.jpg
;例如指定后缀为.jpg
,访问 https://examplebucket-1250000000.cos.ap-chengdu.myqcloud.com/path/prefix123
时触发回源规则,则会跳转至 <回源地址>/path/prefix123.jpg
;注意:
指定前缀和指定后缀的配置可以同时生效。
重定向Code:301、302、307可选,默认为 301。
7. 确认配置的回源规则无误,单击确定。
当您添加完规则后,系统将为您的新规则分配最高优先级;COS 将按照最高优先级的规则回源;此外您也可以在规则列表页面,单击修改按钮调整优先级。
示例
背景
APPID 为 1250000000 的用户创建名为 examplebucket-1250000000 的存储桶,并开启了 CDN 加速访问域名:
examplebucket-1250000000.file.myqcloud.com
设置存储桶回源地址为:
abc.example.com
在源站
http://abc.example.com
存放图片 picture.jpg。客户端首次访问(未开启同步回源):
http://examplebucket-1250000000.file.myqcloud.com/picture.jpg
COS 发现无法命中对象时,对客户端返回 302 HTTP 状态码并跳转至如下地址:
http://abc.example.com/picture.jpg
客户端首次访问(开启同步回源):
http://examplebucket-1250000000.file.myqcloud.com/picture.jpg
COS 发现无法命中对象时,对客户端返回 200 HTTP 状态码并跳转至如下地址:
http://abc.example.com/picture.jpg
此时对象由源站提供给客户端,保证访问。同时 COS 从源站复制 picture.jpg 并保存至存储桶 example 的根目录中。
第二次访问:
http://examplebucket-1250000000.file.myqcloud.com/picture.jpg
COS 直接命中根目录下 picture.jpg 对象并返回给客户端。