# 镜像回源

US3 提供镜像回源功能，配置回源规则后，当您向 US3 存储空间请求的数据不存在时，可以通过回源设置，对于获取数据的请求以多种方式进行回源读取，满足您对于数据热迁移、特定请求重定向的需求。

设置回源规则后，可对 US3 的每条 GET 或 HEAD 请求的 URL 按设定的规则进行匹配，然后按照设定的规则进行回源。最多配置 5 条规则，顺序匹配，直到匹配到有效规则。回源类型为镜像方式。

* 镜像方式：如果配置了回源规则，则当对一个不存在的文件进行 GET 或 HEAD 操作时，会向源站地址请求这个文件，返回给用户，并同时写入到 US3。

> - 镜像方式下，如果请求中携带 Range 头部字段，最终会将完整的回源文件写入 US3 而非仅写入 Range 所表明的部分数据。
>
> - 图片处理请求不会触发镜像回源。

## 使用场景

您的大部分源文件存储在 US3 存储空间，少量文件在客户源站，但仍会有少量文件继续写到源站，可通过镜像回源功能直接到源站回源获取文件，从而实现业务的平滑迁移。

## 设置回源规则

用户指定文件前缀和源站地址，当 US3 没有文件时，US3 自动根据文件前缀到指定源站抓取文件保存，并返回给用户。

* 选择对应空间，在右侧操作中选择镜像回源按钮。

<!-- image-todo -->

* 点击添加回源规则按钮。

<!-- image-todo -->

* 添加回源规则界面。

<!-- image-todo -->

* 填写文件前缀和回源地址，文件前缀为指定源站真实路径，若为根目录，则文件前缀为空。

例：通过 US3 访问其他源站 `test` 文件夹下的文件，设置回源规则，文件前缀为 `test`，回源地址为源站地址。

<!-- image-todo -->

> 注：回源地址只支持 HTTP 访问

* 通过US3访问其他源站该文件夹下的文件。

<!-- image-todo -->

* US3也自动保存了该文件。

<!-- image-todo -->


## 备注

1. 当前每个单地域存储空间（Bucket）下可创建 5 条回源规则，前缀唯一不可重复
2. 全球化空间管理暂不支持设置回源规则
3. 子账户需要开启 API 密钥权限（常见问题），若子账号未开启 API 密钥，US3 则不能将回源文件上传到用户的 Bucket
4. 不支持在图片处理请求中触发镜像回源，即不支持图片处理的目标文件为源站中的文件（用户可先发起镜像方式下的回源请求，待回源成功后，再发起图片处理请求）
5. 不支持源站为私有 US3 或其他第三方私有 Bucket
6. 不支持源站地址使用 US3 内网域名
7. 不支持 MD5 校验
8. 若源站返回 3xx 重定向响应，US3 会向新的源站地址重新发起请求，最大递归次数为 10 次
