首页/云/云网络与负载均衡速查/CDN 回源 Host 与 SNI
云 DNS 与 CDN49 条

CDN 回源 Host 与 SNI

回源 Host 决定 CDN 回源请求头中的 Host,源站据此路由到对应虚拟主机;HTTPS 回源还要匹配 SNI。源站挂多域名或按 Host 分站时,回源 Host 配错常表现为 403/404。

回源 Host 与 SNI 是什么

回源 Host 决定 CDN 回源请求头里的 Host 字段,源站据此把请求路由到对应的虚拟主机;如果回源走 HTTPS,还要按回源域名发送 SNI,用于匹配源站证书。源站上挂多个域名或按 Host 分站时,这两项配错的典型表现就是 403 或 404——请求确实到了源站,但被路由到默认站点或直接拒绝,而 CDN 侧的配置看起来完全正常。

基本信息

默认值多数产品默认以加速域名或源站配置作为回源 Host
适用源站按 Host 区分站点时必须显式设置
SNIHTTPS 回源按回源域名发送 SNI,与源站证书匹配
验证直连源站带上该 Host 头复现问题

典型使用场景

  • 源站用 Nginx 虚拟主机区分多个站点,回源必须带正确 Host
  • 源站走 HTTPS 且证书只覆盖特定域名,SNI 配错会握手失败
  • 多域名共用一套源站,按 Host 分流到不同应用
  • 排查 403 或 404 时,用 Host 头直连源站复现以确认归属

用 Host 头直连源站复现

用 Host 头直连源站复现
curl -sv -H 'Host: origin.example.com' https://203.0.113.10/healthz \
  -o /dev/null 2>&1 | grep -E 'subject|HTTP/'
# 换一个错误的 Host 再试一次,对比返回码差异

现象与原因

现象可能原因
源站直连正常、经 CDN 报 404回源 Host 未按源站站点设置
HTTPS 回源握手失败SNI 与源站证书域名不匹配
返回其他站点内容落到源站默认虚拟主机
仅部分域名异常多个加速域名的回源配置不一致
回源 Host 与回源 SNI 可分开配置的产品里,两者不一致会造成证书校验失败(HTTPS 握手报错)。

多域名接入时怎么管

当同一个源站被多个加速域名回源时,最容易出现的是配置不一致:新接入的域名沿用默认 Host,测试环境验证没问题,上线后才在源站日志里看到大量落到默认站点的请求。建议把每个加速域名的回源 Host、回源协议、回源端口整理成一张对照表,新增域名时按表填写并做一次直连复现验证;源站侧也可以在默认站点上配置一个明显的拒绝或跳转,让配置错误的请求更容易被识别出来,而不是静默返回错误内容。

易错点

  • 回源 Host 配错,源站按默认站点返回 404
  • HTTPS 回源时 SNI 与证书域名不一致导致握手失败
  • 多域名接入时部分域名沿用默认 Host,漏配不易察觉
  • 只改 CDN 配置不直接复现,问题定位在源站侧绕圈

数据来源与参考

  • 阿里云 CDN 回源 HOST 文档
  • 腾讯云 CDN 回源 Host 与 SNI 说明
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌