
# 回源跟随
#### 背景信息
如果您的源站地址因业务需求做了301/302 重定向，CDN的回源请求会返回301/302状态码，当您开启回源跟随后，CDN节点会先跳转到301/302对应地址获取资源，缓存后再返回给用户。开启或未开启回源跟随CDN的处理如下：
- **未开启** **：**CDN会将301/302对应跳转地址直接返回给用户，让用户自己去请求跳转地址的资源。如果该跳转地址域名未加入CDN，则该请求过程不会有加速效果。
- **已开启：**CDN会先跳转到301/302对应地址获取用户所需资源后缓存至节点并返回给用户，当其他用户再次请求同样资源时会直接命中节点缓存。
 
#### 工作原理
配置回源跟随后，如果用户请求未命中缓存，CDN节点回源时如果收到301/302状态码，将由CDN节点会先跳转到301/302对应地址获取资源，缓存后再返回给用户，回源时的流程如下图所示。
![](https://support.huaweicloud.com/usermanual-cdn/zh-cn_image_0000002306756534.jpg "点击放大")
1. 用户发起请求，假设访问URL为http://example.com/test/index.html。
2. 未命中CDN节点缓存，CDN节点回源请求资源，回源URL为http://example.com/test/index.html。
3. CDN节点收到源站范围的301/302状态码，Location地址指向http://example.com/newtest/index.html。
4. CDN节点收到响应后，向地址http://example.com/newtest/index.html发出请求。
5. CDN节点获取到资源后，缓存该资源并返回给用户。
 
#### 注意事项
如果您域名的业务类型是全站加速，本功能仅对静态资源生效。
#### 操作步骤
1. 登录[CDN控制台](https://console.huaweicloud.com/cdn/?locale=zh-cn#/cdn/overview)。
2. 在左侧菜单栏中，选择"域名管理"。
3. 在域名列表中，单击需要修改的域名，进入"概览"页面。
4. 选择"回源配置"页签。
5. 在"回源跟随"配置模块，根据实际业务情况选择是否开启回源跟随开关。
   图1回源跟随   
   ![](https://support.huaweicloud.com/usermanual-cdn/zh-cn_image_0000001543615665.png "点击放大") 
 
#### 配置示例
- 域名www.example.com**开启** 回源跟随，配置如下：
  ![](https://support.huaweicloud.com/usermanual-cdn/zh-cn_image_0000001543615697.png "点击放大")
  用户请求www.example.com/cdn.jpg文件，未命中缓存，节点回源请求资源。如果源站返回HTTP Response状态码301/302，重定向跳转地址为www.example.com/test/cdn.jpg。
  1. 节点收到301/302状态码后，直接向需要跳转的地址发起请求。
  
  2. 节点获取到资源后，返回给用户，并缓存到节点。
  
  3. 如果用户B再请求www.example.com/cdn.jpg文件，直接命中缓存，节点将资源返回给用户。
    
- 域名www.example.com**未开启** 回源跟随，配置如下：
  ![](https://support.huaweicloud.com/usermanual-cdn/zh-cn_image_0000001492375888.png "点击放大")
  用户请求www.example.com/cdn.jpg文件，未命中缓存，节点回源请求资源。如果源站返回HTTP Response状态码301/302，重定向跳转地址为www.example.com/test/cdn.jpg。
  1. 节点直接将HTTP Response状态码301/302返回给用户，由客户端向重定向跳转地址发起请求。
  
  2. 如果重定向跳转地址的域名未接入CDN，则节点不能缓存该资源，不会有加速效果。
  
  3. 如果用户B请求www.example.com/cdn.jpg文件，重复以上流程。
    
 
#### 相关文档
调用接口修改回源跟随请参考：[修改域名全量配置接口 - UpdateDomainFullConfig](https://support.huaweicloud.com/api-cdn/UpdateDomainFullConfig.html)。
