本文档介绍如何在火山引擎内容分发网络(CDN)中对加速域名启用回源重定向跟随。
功能介绍
当 CDN 向源站请求内容时,如果源站的响应状态码是 301 或者 302,表示请求的内容被重定向到了另一个地址。此时 CDN 会将响应状态码返回给用户浏览器处理。浏览器会向重定向的地址发起请求。开启该配置后,如果源站返回 301/302 状态码,CDN 不返回响应码,而是直接向重定向地址发起请求。在获取内容后,CDN 将内容缓存并返回给用户。在内容重定向场景下,回源跟随可有效提升 CDN 响应用户请求速度。
因此,如果源站有 301/302 重定向场景,推荐开启回源重定向跟随。
说明
- 该功能仅对使用 GET 方法或 HEAD 方法的用户请求生效。
- 如果源站内容存在多次重定向,CDN 最多跟随 3 次。
- 如果一个回源请求被重定向到另一个地址,重定向请求会包含该回源请求中的头部,但不包含其中的查询参数。如果您需要重定向请求也包含回源请求中的查询参数,请 提交工单。
示例
假设有以下场景:
- 源站的 https://www.example.com/image.png 被重定向到了 https://www.test.com/image.png。
- 用户A 和用户B 先后请求 https://www.example.com/image.png。
- www.example.com 接入了 CDN。
下面讨论分别在回源跟随关闭和启用的情况下对请求结果的影响。
回源跟随关闭
请求过程如下:
- 用户A 请求 https://www.example.com/image.png。
- CDN 向源站请求该文件。
- 源站响应 301 或 302 状态码,并包含重定向地址。
- CDN 将该状态码返回给用户A。
- 用户A 请求 https://www.test.com/image.png。
由于 www.test.com 不是加速域名,该请求请求不经过 CDN 。用户B 在请求的过程中,会重复以上步骤。
结果是,用户A 和用户B 的请求最终都无法被加速。
回源跟随启用
请求过程如下:
- 用户A 请求 https://www.example.com/image.png。
- 源站响应 301 或 302 状态码,并包含重定向地址。
- CDN 请求 https://www.test.com/image.png,缓存该文件并将文件返回给用户A。
此时,用户A 将更快获得结果。主要由于以下原因:
- 流程上避免了 CDN 返回状态码给用户A 以及用户A 再次发起请求这两个步骤。
- CDN 请求 https://www.test.com/image.png 会比用户A 请求该地址更快。
然后,用户B 请求 https://www.example.com/image.png。由于该文件已被缓存,请求直接命中缓存。因此,CDN 将缓存的文件返回给用户B。
结果是,用户A 和用户B 的请求都被加速。
操作步骤
- 登录 火山引擎内容分发网络控制台。
- 在左侧导航栏,点击 域名管理。
- 在 域名管理 页面,找到需要配置的域名,点击 管理。
- 在页面右上方,点击 回源配置 页签。
- 点击 编辑配置。
- 在 回源重定向跟随 下方,设置 状态 为启用。
- 在页面右上方,点击 提交编辑。