当回源请求失败时,火山引擎内容分发网络(CDN)会尝试其他源站,也就是 "回源重试"。
说明
回源请求失败的常见原因如下:
TCP 连接超时。
其他原因导致的 TCP 连接失败。
源站响应状态码是 5xx。如果您指定了 回源重试状态码,则以您指定的状态码为触发回源重试的条件。
HTTP 请求超时。
默认情况下,TCP 连接超时时间是 2 秒,HTTP 请求超时时间是 60 秒。如果您要修改这些超时时间的设置,参考 配置超时时间的设置。
文字说明
判断无法访问的源站是否是一个 条件源站。
如果该源站不是条件源站,继续步骤 2。
如果该源站是条件源站,则判断该源站的类型。
如果该源站一个 IP 地址,CDN 判定无法从源站获取请求的文件。
如果该源站是一个域名,则判断该域名是否可以被解析为多个 IP 地址。
尝试主源站列表中的另一个源站,步骤如下:
从主源站列表中,根据源站权重选择另一个主源站。如果没有可供选择的主源站,继续步骤 3。
说明
如果源站是域名并且该域名可以被解析为多个 IP 地址,当其中一个 IP 地址无法访问时,CDN 会尝试另一个 IP 地址。
判断选中的主源站是否被标记为不可用。
说明
如果连续 10 次无法与一个源站建立 TCP 连接,CDN 会将该源站标记为不可用。
如果选中的主源站被标记为不可用,CDN 放弃尝试该源站,然后重复步骤 2.a。同时,CDN 会对该源站进行异步探测。
说明
如果异步探测的结果是 TCP 连接成功,CDN 会从该源站移除不可用标记。
如果选中的主源站没有该标记,则继续步骤 2.c。
向选择的主源站发送回源请求。
判断回源请求是否成功。
尝试备源站列表中的一个源站,步骤如下:
从备源站列表中,根据源站权重选择一个备源站。如果没有可供选择的备源站,CDN 判定无法从源站获取请求的文件。
判断选中的备源站是否被标记为不可用。
如果选中的备源站被标记为不可用,则重复步骤 3.a。同时,CDN 会对该源站进行异步探测。
如果选中的备源站没有该标记,则继续步骤 3.c。
向选中的备源站发送回源请求。
判断回源请求是否成功。