配置回源302跟随功能后,CDN节点会代替用户直接处理源站响应的302状态码的内容,减少数据交互流程,加快用户获取资源的速度。

前提条件

用户源站使用了302重定向方式去实现业务逻辑。

背景信息

302是HTTP协议中的一个状态码,代表已存在的资源被临时改变了位置,导致用户无法访问到对应的资源。基于此情况,服务器通常会在消息响应头中加入Location参数,当客户端接收到带有Location头的302响应时,会跳转到Location对应的地址去请求资源。

工作原理

回源302跟随功能指CDN节点回源请求资源时,如果收到源站返回的302状态码,将由CDN节点代替用户直接处理302状态码的内容,即直接跳转到源站302响应中的Location地址去获取资源,不会直接返回302状态码给用户。回源302原理介绍
  1. 用户向CDN节点请求访问http://example.com/examplefile.txt文件。
  2. CDN节点上未缓存该文件,CDN节点回源站请求该文件。
  3. 源站收到请求后,向CDN节点返回302状态码,Location地址指向http://www.example.org/examplefile.txt
  4. CDN节点收到源站的响应后,直接向Location地址http://www.example.org/examplefile.txt发起请求。
  5. CDN节点获取到所需资源后,缓存到CDN节点上。
  6. CDN节点将获取到的资源返回给用户。
此时,如果其他用户再请求访问http://example.com/examplefile.txt文件,会直接在CDN节点命中缓存并返回给用户。

操作步骤

  1. 登录CDN控制台
  2. 在左侧导航栏,单击域名管理
  3. 域名管理页面,单击目标域名对应的管理
  4. 在指定域名的左侧导航栏,单击回源配置
  5. 配置页签,找到回源302跟随
  6. 打开回源302跟随开关。
  7. 配置回源302跟随。
    302跟随
    参数 描述
    回源次数上限
    • 回源次数上限

      指在一次用户请求过程中,CDN节点可以回源访问源站的最大次数。回源次数上限默认值为2,最小值为1,最大值为6。

    • 回源302跟随次数上限=回源次数上限-1

      指在一次用户请求过程中,CDN节点可以跟随Location地址跳转访问的最大次数,超出限制将直接返回302状态码给用户。回源302跟随次数上限默认值为1,最小值为0,最大值为5。

    302跟随保留参数
    • 保留:302跟随时保留原请求参数回目标源站。如果您选择保留,那么请求参数将会传递给Location地址对应的服务器。
    • 不保留:302跟随时不保留原请求参数回目标源站。
    302跟随保留请求头
    • 保留:302跟随时保留原请求头回目标源站。如果您选择保留,那么请求头参数将会传递给Location地址对应的服务器。
    • 不保留:302跟随时不保留原请求头回目标源站。
  8. 单击确定,完成配置。

配置示例

配置场景:您源站的资源挪至其他地址,但您并不希望您的用户感知该变动,希望使用原有域名正常访问资源。

配置方式:域名example.com开启回源302跟随,配置如下:配置
结果说明:用户请求http://example.com/examplefile.txt文件,恰好CDN节点为未缓存,返回源站请求资源(保留原请求参数和请求头),源站收到请求后,向CDN节点返回302状态码,并给出重定向地址为http://www.example.org/examplefile.txt
  1. CDN节点收到302状态码后,直接向重定向地址发起请求(仅请求一次,请求失败后返回302状态码给用户)。
  2. CDN节点获取资源,返回给用户,并缓存至CDN节点。
  3. 其他用户再请求http://example.com/examplefile.txt文件,CDN直接将已缓存资源返回给用户。