摘要:按阿里云 CDN 公开文档,梳理回源 HOST、回源 SNI、回源协议/证书与缓存键不一致时常见的 502/404/重定向循环怎么逐项核对。查询日期 2026-10-30;只放官网普通链接(affiliate_later)。

依据:阿里云《配置回源 HOST》《配置回源 SNI》《配置回源协议》《CDN 回源失败排查》《自定义 Cache Key》。查询日期:2026-10-30(北京时间)。只放官网普通链接(affiliate_later);不写单价。

站点已经接了 CDN,用户却看到 502、404,或浏览器报「重定向次数过多」。本站写过 CDN 回源与缓存键/刷新预热入门,那篇偏规则总览。本文专讲「回源校验失败」三条线:回源 HOST、HTTPS/SNI 证书、缓存键对不上刷新。

1. 先分清:HOST、SNI、回源协议各管哪一层

配置项作用层常见配错后果
回源 HOSTHTTP 请求头 Host,决定源站虚拟主机(如 Nginx server_name)命中哪套站点404、403、打到默认站、内容串站
回源 SNITLS 握手时告诉源站要哪张证书(同一 IP 多域名时必需)握手失败、502/503、证书名对不上
回源协议CDN→源站走 HTTP / HTTPS / 跟随源站只开 80 却 HTTPS 回源 → 502;HTTP 回源碰上强制跳 HTTPS → 重定向循环
缓存键节点认定「是不是同一份文件」改了源站却一直 HIT 旧页;或参数把缓存拆成无数份狂回源

阿里云文档写明:HTTPS 回源时,建议把回源 HOST 与回源 SNI 设成同一域名(通常是源站域名或加速域名,且须匹配源站证书与虚拟主机)。两者在控制台是两个独立开关,要分别改。

CDN 回源校验失败怎么排:Host、HTTPS 证书与缓存键核对(2026)-有序
阿里云帮助中心《配置默认回源 HOST》:虚拟主机与 Host 头说明(本站 2026-10-30 截自官方文档)

2. 回源 HOST:源站「认不认你这个站名」

控制台路径(阿里云口径):域名管理 → 目标加速域名 → 回源配置 → 默认回源 HOST。

域名类型常见三种:

  1. 加速域名:用用户访问的加速域名当 Host。
  2. 源站域名:用源站那条域名当 Host;源站填 IP 时该选项往往不可选。OSS 域名作源时,文档写明会同步按源站域名处理 Host。
  3. 自定义域名:手填;须是源站已绑定的域名,否则回源失败。

源站侧对照:

  • Nginx:server_name 是否包含你填的 Host。
  • Apache:ServerName / ServerAlias。
  • IIS:站点绑定里的「主机名」。

改完 Host 后,文档建议再做一次 URL 刷新,清掉可能已缓存的错误响应。

3. 回源 SNI 与 HTTPS 证书:握手过不去就别怪「源站挂了」

CDN 回源校验失败怎么排:Host、HTTPS 证书与缓存键核对(2026)-有序
阿里云《什么是 SNI 以及如何配置回源 SNI》:同 IP 多域名 HTTPS 须带 SNI(本站 2026-10-30 截自官方文档)

要点(按官方说明摘要):

  1. 源站同一 IP 绑了多个 HTTPS 站点时,CDN 以 HTTPS 回源须带 SNI,源站才知道返回哪张证书。
  2. SNI 只能填精确域名,不能填泛域名。
  3. 多源站时,控制台默认 SNI 往往共用一个值;要按源站分别设,需按文档申请或走其他能力。
  4. HOST 与 SNI 不一致(例如 Host 填源站域名、SNI 填加速域名)时,可能 SSL 握手失败或源站报错。

证书侧自检:

  • 源站 443 是否真在听:curl -Iv https://源站域名。
  • 证书是否过期、域名是否覆盖回源用的名字。
  • 自签名/内网 CA:CDN 回源校验常失败;文档建议换公有可信证书,或改回 HTTP 回源(评估风险后再选)。
CDN 回源校验失败怎么排:Host、HTTPS 证书与缓存键核对(2026)-有序
阿里云《配置回源协议》:HTTP / HTTPS / 跟随与端口说明(本站 2026-10-30 截自官方文档)

回源协议默认关闭时,常按源站端口推断(443→HTTPS,80→HTTP)。打开后可选:

  • HTTP:固定 80(或自定义端口);源站可不配证书。
  • HTTPS:固定 443(或自定义);源站必须有效证书。
  • 跟随:客户端 HTTPS 访问时 CDN 也 HTTPS 回源;源站若不支持 HTTPS,会握手失败。

注意:CDN 上给用户看的 HTTPS 证书,和「CDN 回源到源站」用的协议是两回事。客户端到节点可以全程 HTTPS,节点到源站仍可按你的选择走 HTTP。

4. 重定向循环:强制 HTTPS + HTTP 回源

文档常见场景:源站(宝塔/Nginx/WAF)开了 HTTP→HTTPS 强制跳转,CDN 却以 HTTP 回源。链路变成:用户 HTTPS → CDN → HTTP 回源 → 源站 301 到 HTTPS → 再经 CDN → 又 HTTP 回源……浏览器最终报 ERR_TOO_MANY_REDIRECTS。

可选其一:

  • 方案 A:源站证书有效且 443 正常时,把回源改成 HTTPS,并配好 HOST/SNI。
  • 方案 B:关闭源站强制跳转,保持 HTTP 回源;客户端到 CDN 仍可 HTTPS。评估「有人直连源站 IP」时是否还能接受无强制跳转。

无论选哪边,改完后做一次 URL 刷新,清掉已缓存的 301。

5. 502 / 404:按层缩小范围

CDN 回源校验失败怎么排:Host、HTTPS 证书与缓存键核对(2026)-有序
阿里云《CDN 回源失败排查》文档开篇与状态码对照入口(本站 2026-10-30 截自官方文档)

文档对 502 列过这些高频因(摘要):

  1. 源站不支持 HTTPS,但 CDN 配了 HTTPS 回源或「跟随」碰上 HTTPS 客户端。
  2. 回源端口与源站监听不一致。
  3. 源站靠 SNI 选证书,CDN 未开或填错 SNI。
  4. 源站证书过期、域名不匹配、自签名。

404/403 更常落在 Host 不匹配虚拟主机,或源站鉴权/Referer 规则拦了 CDN。

缩小范围时建议:

  1. curl -I https://加速域名/路径,看有没有 X-Cache / Via 等 CDN 特征头;没有则先查 DNS/CNAME。
  2. 直连源站(hosts 绑定或 --resolve)对比结果。
  3. 对比 CDN 日志与源站访问日志:源站根本没收到请求,优先查网络/TLS/安全组;收到了再看路径、Host、状态码。

6. 缓存键:改对了源站,边缘仍吐旧页

缓存键不一致时,你会觉得「回源校验明明过了,页面还是错的」。常见坑:

  1. 追踪参数进了默认完整 URL 键,同一文件缓存成 N 份,命中率差、狂回源。
  2. 自定义 Cache Key 后,仍按「裸 URL」提交刷新,刷新没命中实际键。
  3. 状态码(404/302)缓存过久,错误页被钉在边缘。

规则与刷新/预热细节见前一篇 缓存键与刷新预热。发版常用顺序:先确认 HOST/SNI/协议 → 再刷新(必要时强制)→ 再预热热点 URL。

7. 排障清单(可勾)

  1. □ curl -I 加速域名,确认请求真的进了 CDN
  2. □ 直连源站对比:源站本身是否 200、证书是否有效
  3. □ 回源 HOST 是否等于源站 server_name / 绑定主机名
  4. □ HTTPS 回源时:回源 SNI 已开,且与 HOST、证书名一致
  5. □ 回源协议/端口与源站监听一致(别「跟随」撞上未开 443 的源站)
  6. □ 源站是否强制 HTTP→HTTPS;若有,是否已改 HTTPS 回源或关掉强制跳
  7. □ 安全组/防火墙是否误拦 CDN 回源 IP 段
  8. □ 改配置后是否做了与实际缓存键一致的 URL 刷新
  9. □ 静态资源是否因 query 把 Cache Key 拆爆(对照缓存键文)
  10. □ 源站是 OSS 时:外网域名、Bucket 权限与 Host 是否按文档同步

证书与多站点入口可另看 免费 HTTPS 证书自动续期、Nginx 反向代理多站点与 502;安全组最小开放见 云服务器安全组 22/80/443。

相关阅读

风险提示

错误的 HOST/SNI/回源协议会导致全站或局部不可用;强制改 HTTP 回源会改变源站直连时的加密假设。配置以各云控制台与帮助中心当前页为准;腾讯云等厂商字段名可能不同,思路可对照,操作以该云文档为准。本文不构成采购或架构承诺。