CDN 回源已解析到源站 IP,TCP 连通却仍返回 403;换域名可能是 404,启用 HTTPS 后还出现跳转循环。根因不在能否连上,而在同一请求的连接地址、TLS SNI 与 HTTP Host是否指向同一虚拟主机。
如果你正在选机器,或者想先把线路和配置跑通再谈长期方案,可以先看看这几家的线路说明和技术参数:ufovps(海外服务器),先看清带宽线路、流量策略和退款条款,再决定要不要迁。
一、回源地址、SNI与Host的配合规则
回源地址解析只回答“TCP 连到哪里”:域名先得到 IP,再连接端口,不替 HTTP 请求补齐站点身份。HTTPS 回源时,客户端在 TLS 握手阶段发送 SNI,源站据此选择证书和默认站点;握手后,请求头中的 Host 决定反向代理把路径交给哪个虚拟主机。HTTP 回源没有 SNI,身份完全依赖 Host。SNI 与证书域名不符,会握手失败或拿错证书;SNI 正确而 Host 指向别处,请求也会落入错误的默认站点。

IP 负责可达,端口负责协议入口,SNI 负责 TLS 站点选择,Host 负责 HTTP 虚拟主机匹配。CDN 固定回源 Host 后,源站若只允许特定域名,403 可能来自访问控制;Host 或 SNI 与源站路由不一致,常见 404。源站返回跳转时,CDN 是否跟随,会影响客户端看到的 301、302 或目标页。
二、从请求证据定位403、404和跳转环
分开验证网络连通与站点身份。用 openssl s_client 查看握手证书,用 curl --resolve 将域名固定到回源 IP;这样能保留正确的 SNI 和 Host。HTTPS 入口还要核对 CDN 的 Server Name 是否与证书及源站配置一致,避免“证书正常,握手却选错站点”。

再按状态码和响应头判断。403 先查源站 IP 白名单、CDN 回源网段、Host 允许列表及 WAF 规则,说明请求已到但被拒绝;404 先查 Host、SNI、路径和默认虚拟主机。遇到 301 或 302,逐跳记录 Location,核对目标域名、协议、端口是否指回原 URL,并排查 CDN 与源站分别改写跳转。随身服务器可搭临时反向代理,以不同 Host、SNI 组合复现响应,但不要暴露真实源站。
回源时,地址、SNI 与 HOST 分三层生效
回源不是把域名换成 IP 后直接访问。CDN 先通过回源地址解析取得连接地址;HTTPS 回源会先完成TLS SNI 协商,再发送 HTTP 请求。SNI 影响证书及默认站点选择,Host 则参与多数源站的虚拟主机匹配,两者不一致时会出现“证书正常、业务错站”。
例如,CDN 连接 origin.example.com 对应的 IP,但 SNI 为空,源站可能返回默认站点;SNI 正确而 Host 改成 www.example.com,也会命中另一配置。按 IP 回源不等于 Host 写 IP;若证书只签给公网域名,握手阶段就可能失败。
因此要分别核对回源 IP/域名、回源 HOST 和回源 SNI。CDN 通常由回源域名自动派生二者,但指定 IP、关闭域名解析、沿用加速域名或跨域回源时可能不同;还要确认端口、Host 大小写和尾随点是否影响匹配。

访问控制与重定向最容易制造假象
源站访问控制若按 CDN 出口 IP、端口或请求特征放行,需检查 IPv4/IPv6 网段、实际端口、多网卡路由及节点变更。若策略依赖 User-Agent、Referer 或固定 Host,边缘节点与人工测试的差异也会导致结果不同。
遇到 301、302、307、308,重定向链路排查要逐跳记录 Location、域名、协议、端口和状态码。CDN 默认通常原样返回 Location,不会自动改写目标;相对路径按当前响应 URL 解析。跳转若降级到 HTTP、进入未接 CDN 的域名,或目标证书与 SNI 不匹配,浏览器会直接报错。强制跟随回源重定向还可能掩盖首跳状态,造成循环或请求方法变化。
可执行检查清单:用 dig 核对 A/AAAA、CNAME、TTL;用 openssl s_client -connect IP:443 -servername 域名 查证书;用 curl -vk --resolve 域名:443:实际IP https://域名/ 固定解析复现;对照 CDN 日志中的连接 IP、SNI、Host、状态码。以 curl -vkIL 逐跳检查跳转,并从公网、源站内网各测一次,按“DNSTLSHost访问控制Location”定位。


喜欢
顶
难过
囧
围观
无聊





