设置镜像回源后,当请求的对象在桶中不存在时,TOS 支持从源站拉取对象返回给请求方,也支持从源站拉取对象元数据返回给请求方。 本文介绍如何设置镜像回源。
背景信息
镜像回源功能支持以下两个操作:
- 使用 GetObject 触发镜像回源:当请求的对象在桶中不存在时,TOS 将从指定的源站拉取该对象,返回给请求方的同时将该对象写入到桶中。
- 使用 HeadObject 触发镜像回源:当请求元数据的对象在桶中不存在时,TOS 将从规则设置的源站拉取该对象元数据,并返回给请求方。
注意事项
场景 | 类别 | 注意事项 |
---|
使用 GetObject 触发镜像回源 | 回源对象大小 | - 最大支持请求 5GiB 的对象。如果需要请求超过 5GiB 的对象,请使用 Get Range 的功能。
- 使用匿名用户触发镜像回源请求对象时,如果存储桶设置了服务端加密,匿名用户没有 KMS 密钥权限,导致文件无法写入到存储桶,镜像回源失败,同时会产生预期外的流量费用。
|
回源条件 | 默认当 GetObject 且返回的 HTTP 状态码为 404 时,才会触发镜像回源,从源站拉取文件。 |
使用 HeadObject 触发镜像回源 | 回源限制 | 不支持通过 HeadObject 请求镜像回源软链接对象。 |
回源条件 | 只有在创建回源规则时开启是否支持 HeadObject 功能, 且 HeadObject 请求返回的 HTTP 状态码为 404 时,才会触发镜像回源。 |
操作步骤
登录对象存储控制台。
在左侧导航栏,单击桶列表,在桶列表页面单击目标桶名称。
在左侧导航栏,选择基础设置 > 回源设置,在回源设置页面,单击创建规则。
在创建回源规则页面,配置如下参数。
参数 | 说明 |
---|
回源方式 | 选择镜像回源。 |
回源条件 | 当前仅支持 HTTP状态码404。 |
指定来源域名回源 | 指定访问源站的域名,指定后,仅该域名可以访问源站触发镜像回源。 注意 - 最多指定 20 个来源域名。
- 域名需要能访问到存储桶,建议填写存储桶绑定的自定义域名。
|
回源类型 | 设置回源的源站类型,说明如下: - 选中回源私有桶:表示源站为 TOS 私有桶或其他云厂商的私有桶。
- 不选中回源私有桶:表示源站为 TOS 公共桶或其他云厂商的公共桶。
|
回源地址 | 设置回源的地址,不同源站类型,配置不同,说明如下: 说明 - 单击添加回源地址,可继续添加回源地址。最多支持 5 个回源地址。
- 如果您设置了多个回源地址,会随机选择一个地址发送请求。如果该地址请求失败,TOS 会自动选择其他地址重试。
- 源站为公共桶
设置回源地址为公共桶的访问域名,说明如下:
- 协议:可选 https 或 http。
- 域名:必须为域名格式,不支持 IP 地址。
- 源站为私有桶
- 源站为火山引擎:设置源站服务商为火山引擎,单击点击授权,授予 TOS 访问您私有桶的权限。然后选择回源的存储桶,TOS 会根据回源桶自动填充回源地址。
说明 - 设置回源桶时,只能选择当前账号下的存储桶。
- 授予 TOS 访问您私有桶的权限后,TOS 会自动创建 ServiceRoleBackSourceAccessTOS 角色,通过该角色访问私有桶。
- 源站为百度云、其他 S3 存储协议的云厂商:设置源站服务商为百度云或其他S3存储协议,填写访问源站服务商的 AccessKey、SecretKey,源站 Region,回源的存储桶和回源地址。
注意 回源地址的填写限制如下: - 协议:必须设置为 https。
- 域名:填写的是源站服务商的访问域名,不能包含存储桶的名称。
|
是否支持 HeadObject | 是否支持 HeadObject 请求触发镜像回源。默认仅支持 GetObject 请求触发镜像回源,开启后,将同时支持 GetObject 和 HeadObject 触发镜像回源。默认关闭。 |
是否携带请求参数 | 是否将请求携带的 queryString 透传至源站。默认打开。 |
是否跟随源站重定向 | 是否跟随源站的 3XX 重定向请求回源,最多可重定向 1 次。默认关闭。 |
HTTP Header 传递规则 | TOS 在访问指定的源站时,允许传递的响应头。支持以下规则: - 透传所有 HTTP Header:默认值,选择后透传所有参数,但以下请求头不会透传:Host、Content-length、Date、Authorization。
- 透传指定 HTTP Header:指定允许传递的 Header,最多可添加 10 个。
- 禁止透传所有 HTTP Header:选择后禁止透传所有参数。
- 禁止透传指定 HTTP Header:指定禁止传递的 Header,最多可添加 10 个。
|
新增指定HTTP Header | 指定 HTTP Header 的 Key 和 Value,指定后,会在 Header 中添加该 Key 和 Value,并透传到源站。 注意 - 最多指定 10 个HTTP Header。
- 不支持指定 Content-Length、Date、Range、Authorization 类型的 Header。
|
单击提交。
镜像回源规则创建完成后,您可以在策略列表中查看已创建的规则。
相关操作
- 编辑回源规则:单击目标规则操作列的编辑,即可修改回源规则。
- 删除回源规则:单击目标规则操作列的删除,在弹出的对话框中单击确定,即可删除回源规则。
- 上移/下移回源规则:选择目标规则操作列的 ... > 上移或者 ... > 下移,即可调整回源规则顺序。