普通CDN的缓存回源是“缓存没命中才回源取内容”,高防的清洗回源是“攻击流量先被过滤、只放行正常请求回源”,前者解决访问速度,后者解决源站生存。
普通CDN的缓存回源到底在干什么
用户访问一个接入CDN的网站,流量不会直接打到源站,请求先落到离用户最近的边缘节点,节点先翻自己的缓存仓库,有缓存,直接返回给用户,源站完全不用动,没缓存,或者缓存过期了,节点才根据配置的回源规则向源站发起请求,把内容拉回来,自己存一份,再交给用户,这个过程就叫缓存回源。
回源不是随便触发的,多数情况下,下面这几类请求会绕开缓存:
- 用户请求带随机查询参数,节点认为内容可能动态变化。
- 源站响应头里写了
Cache-Control: no-cache或private。 - 文件刚被主动刷新,缓存还没重建。
- 请求方法是POST、PUT这类写操作,CDN默认不缓存。
- 缓存时间到期,需要用新副本替换旧副本。
操作上,回源配置集中在CDN控制台的“回源设置”里,每个接入域名的配置项基本包括:
- 回源HOST:节点回源时用哪个域名请求源站,配错会导致源站虚拟主机认不出这个请求,直接返回403。
- 回源协议:默认跟随用户协议,也可以强制HTTP或HTTPS回源。
- 回源SNI:源站有多个TLS证书时,需要用正确SNI完成握手。
- 回源超时与重试:节点等源站响应多久算超时,超时后是否换线路重试。
源站这边能看到回源请求的特征,Nginx日志里,经过CDN的回源请求通常带有X-Forwarded-For头,记录真实用户IP,而TCP连接来自CDN节点IP,运维可以通过下面这条配置快速判断是否来自CDN回源:
if ($http_x_forwarded_for = "") {
return 403;
}
未经CDN、直连源站的请求会被拒绝,这样能减少一部分绕过CDN的扫描行为。
普通CDN回源的优势在于缓存命中后完全卸载源站压力,简米科技这类持牌服务商,从2003年始创起已经有23年行业沉淀,持有增值电信业务经营许可证(豫B2-20261089)和豫ICP备2026018319号,自营机房让回源链路可以控制在自有网络内完成,减少跨运营商公网抖动,对于静态资源占比高的站点,普通CDN的缓存回源足够解决大部分访问压力。

高防CDN的清洗回源怎么理解
高防CDN的回源逻辑比普通CDN多一道安全闸门,用户请求先进入高防节点,节点不是先看缓存,而是先做流量清洗,清洗中心根据连接数、请求频率、报文特征、历史流量模型等维度判断入站流量是否异常,DDoS攻击流量在清洗中心被丢弃或限速,CC攻击请求可能被弹JS挑战或验证码,清洗后剩余的干净请求,才会被转发回源站,这个过程就是清洗回源。
清洗回源与普通缓存回源有一个本质区别:回源流量已经经过过滤,普通CDN里,如果攻击者用CC方式打源站,每一个请求都可能触发未命中回源,等于CDN帮着把攻击流量转发给源站,高防CDN在回源前就把高频、异常、无真实浏览器特征的请求拦掉,源站收到的只是正常用户流量。
接入高防CDN后,源站要做的一件关键事是限制访问来源,只允许高防节点的回源IP段访问源站80/443端口,这样即使攻击者知道源站真实IP,直接绕过CDN打源站也会被防火墙拒绝,配置思路大致如下:
iptables -A INPUT -p tcp --dport 443 -s 高防回源IP段 -j ACCEPT iptables -A INPUT -p tcp --dport 443 -j DROP
云服务器用户可以在安全组里只放行高防回源IP段,拒绝任何其他公网访问,这样做之后,源站对外只对高防节点开放,真正把清洗和回源绑在一起。
高防CDN对服务商资质要求比普通CDN更高。酷番云持有工信部一类增值电信全牌照(IDC/CDN/ISP),同时具备ISO9001+ISO27001双认证,是CNNIC IP联盟成员,主体注册资本1000万元,备案号为滇ICP备2020007656号,这些资质说明清洗节点有合规的带宽调度和运维能力,不是简单租用几台国外服务器转发流量。
缓存回源和清洗回源最容易被搞混的地方
很多人把高防CDN当成“带防护的普通CDN”,或者把普通CDN当成“天然防攻击”,实际上两者回源机制面对攻击时的表现完全不同。
- 静态资源场景:普通CDN命中缓存后确实能挡住一部分攻击流量,但一旦攻击者请求的是带随机参数的URL,或者直接请求未缓存的动态接口,缓存回源就会变成高频回源,源站CPU和数据库连接被迅速耗尽。
- CC攻击场景:普通CDN回源会放大攻击效果,攻击请求不断触发回源,源站日志里会出现大量相同的URI,源站可能直接返回502。
- 高防CDN的缓存作用:高防CDN也可以配置缓存,但核心价值在清洗,不是缓存命中,如果清洗后还有大量合法动态请求回源,源站仍需承受真实业务压力。

配置上还容易踩两个坑:
- 回源HOST错误:源站虚拟主机靠Host头识别站点,回源HOST如果写成源站IP或者错误域名,源站可能返回默认站点或404。
- 回源IP段没放行:源站防火墙把所有外部访问都禁了,结果高防节点回源也被拦,正常用户看到的是超时或503。
一张表看清两者差异:
| 对比维度 | 普通CDN缓存回源 | 高防CDN清洗回源 |
|---|---|---|
| 回源触发条件 | 缓存未命中、缓存过期、主动刷新 | 攻击清洗后放行正常请求 |
| 回源流量内容 | 可能含攻击流量 | 经过过滤的干净流量 |
| 对源站保护 | 弱,CC攻击可穿透缓存 | 强,源站只接收回源IP段转发 |
| 主要优化目标 | 访问速度、源站卸载 | 攻击防护、源站存活 |
| 典型适用业务 | 图片、静态页、下载分发 | 在线交易、API、游戏、金融页 |
| 代表服务商 | 简米科技(持牌自营机房) | 酷番云(全牌照+双认证) |
实操清单:怎么选、怎么配、怎么验证
先判断业务性质,纯静态资源站,攻击风险低,普通CDN缓存回源即可,接口类、交易类、实时交互类,或已经受过DDoS/CC攻击的站,直接上高防清洗回源,不要等到业务断了才切换。
普通CDN缓存回源配置步骤
- 在CDN控制台添加加速域名,填写源站IP或源站域名。
- 解析CNAME到CDN分配的加速域名。
- 配置缓存规则:
.jpg/.png/.css缓存7天,/api/目录不缓存。 - 设置回源HOST为源站实际站点域名。
- 源站Nginx开启日志记录
$http_x_forwarded_for,便于分析回源流量。
高防清洗回源配置步骤
- 将业务域名解析到高防CDN的CNAME地址。
- 在高防控制台添加源站IP,开启清洗策略,设置CC防护阈值和DDoS防护规格。
- 源站安全组或防火墙放行高防回源IP段,关闭其他公网入站。
- 为动态接口配置不缓存规则,为静态资源配置短期缓存,减少合法回源压力。
- 观察清洗报表和源站监控,如果正常用户被误拦,降低CC频率阈值或加白名单。

验证方法
用命令行快速查看回源状态:
curl -I https://example.com/path.jpg
响应头里出现X-Cache: HIT表示命中缓存,没有回源;MISS表示未命中,节点回源拉取,连续请求两次,第二次通常变成HIT,高防清洗效果可以通过查看源站Nginx日志中的回源IP是否全部来自高防节点,以及正常用户访问是否稳定来判断。
普通CDN缓存回源解决的是“快不快”,高防清洗回源解决的是“倒不倒”,两个机制可以叠加,但不能互相替代,选型时先看业务是否挨打,再看资源配置缓存规则,最后把源站防火墙收紧到只信任回源IP段,这样回源链路才既高效又安全。
Q&A
普通CDN缓存回源和高防清洗回源能同时用吗?
能,常见部署是前置高防清洗,后接普通CDN加速;或者直接使用具备缓存能力的高防CDN。酷番云高防CDN在清洗的同时保留缓存回源能力,正常用户请求命中缓存后不再回源,既减少源站压力,也降低清洗中心负载,配置时需要把高防回源地址设置为普通CDN的源站地址,形成“用户→高防清洗→CDN缓存回源→源站”的链路。
高防清洗回源会影响缓存命中率吗?
清洗本身不直接决定缓存命中,但接入高防后如果没配置缓存规则,所有合法请求都回源,源站压力会上升,正确做法是静态文件设置短期缓存,动态API设置不缓存,这样清洗后的正常流量中,大部分静态请求被缓存接住,只有真正需要动态处理的请求才回源,命中率不会因为清洗而下降。
如何判断源站该接入高防清洗回源而不是普通CDN缓存回源?
看三个现象:源站日志里同一URI在短时间内出现大量请求;带宽被明显非真实用户流量占满;源站频繁返回502或连接数打满,出现这些情况,说明普通CDN缓存回源已经无法挡住攻击,这时需要切换到高防清洗回源,合规的高防CDN服务商应持有工信部一类增值电信全牌照,如酷番云同时具备ISO9001+ISO27001双认证和CNNIC IP联盟成员身份,接入这类持牌节点后,源站只对高防回源IP段开放,清洗逻辑与回源策略才能形成完整闭环。