CDN 回源与源站保护是什么
接入 CDN 后,用户访问的是 CDN 边缘节点,节点在没有缓存时回源站取内容,这个动作叫回源。回源带来两个必须处理的配置问题:源站应当只接受 CDN 回源地址的访问,否则攻击者绕过 CDN 直接打源站让防护形同虚设;应用要能从 CDN 传递的转发头中还原真实客户端 IP,否则限速、封禁与日志统计都会按 CDN 节点的地址来做。
基本信息
| 回源方式 | 回源域名解析或回源 IP 直连,配合 Host 头 |
|---|---|
| 标准转发头 | X-Forwarded-For、X-Real-IP、Forwarded |
| 源站防护 | 仅放行 CDN 回源网段到对应服务端口 |
| 证书要求 | 回源 Host 与源站证书域名一致,否则握手失败 |
| 维护动作 | 定期核对 CDN 厂商公布的回源地址段变化 |
典型使用场景
- 静态站点接入 CDN 后,源站只允许 CDN 节点访问 443,其余来源一律拒绝
- 应用日志需要记录真实客户端 IP:在可信边界解析 XFF 的最右一个非可信地址
- 源站有 WAF 时,避免「WAF 只挡 CDN 节点、攻击者直连源站绕过」的漏洞
- 回源失败排查:确认 CDN 回源地址段变更后源站放行未同步
- 灰度切换回源:切换回源域名或源站 IP 前先小流量验证,避免全量回源异常
- 多源站负载:确认回源请求的 Host 头与后端虚拟主机配置匹配
源站侧配置要点
源站侧配置要点
# 1. 边界设备仅放行 CDN 官方回源地址段访问 443/80
# 2. 源站不再对外公布真实 IP,避免被扫描到直连
# 3. 回源 Host 与证书域名一致,证书链完整
# 4. 应用只在可信层解析 XFF,并防止客户端伪造该头
# 5. 日志同时记录 CDN 节点地址与还原后的客户端地址
# 6. 建立回源地址段核对周期,变更后同步放行规则常见问题对照
| 现象 | 可能原因 | 处理方向 |
|---|---|---|
| 用户大面积 5xx | 回源地址段变更未同步放行 | 核对 CDN 回源段并更新边界放行 |
| 日志里来源全是同一批地址 | 未解析 XFF 或只记录了节点地址 | 在可信层解析转发头并落库 |
| HTTPS 回源报证书错误 | 回源 Host 与证书域名不一致 | 统一回源域名与证书 SAN |
| 限速误伤正常用户 | 按 CDN 节点地址做限速 | 改用还原后的客户端 IP 做限速口径 |
XFF 是逐层追加的:只有最靠近源站的那一层可信代理解析出的客户端地址才有意义,直接取最左侧字段会采信客户端伪造的值。
源站若同时对外暴露真实 IP,攻击者可绕过 CDN 与 WAF 直连源站,CDN 的成本与防护能力都会白花。