CDN回源鉴权配置,防止恶意直接访问源站

很多站长接入 CDN 后以为源站就安全了,实际上只要源站 IP 泄露,攻击者就能绕过 CDN 直接访问,导致防护失效、流量被刷。
CDN 回源鉴权配置的核心思路是:让 CDN 节点回源时携带一个只有你和 CDN 知道的密钥,源站 Nginx 校验密钥通过才响应,否则直接返回 403。
这样即使源站 IP 暴露,恶意请求也拿不到真实内容。

先判断你是否需要做回源鉴权

如果你的网站已经接入 CDN,
但源站 IP 可能通过历史 DNS 记录、
邮件头、
SSL 证书透明度日志等途径泄露,
或者你经常看到源站日志里有大量非 CDN 节点 IP 的直接请求,
那就需要配置回源鉴权。

判断依据很简单:在源站 Nginx 日志里看访问 IP,如果出现和 CDN 节点网段无关的 IP 大量请求,说明源站正在被直连。
另一个信号是 CDN 控制台显示的回源流量远低于源站实际入流量。

准备条件:一台运行 Nginx 的服务器(本文以宝塔面板环境为例),CDN 控制台支持自定义回源请求头,能编辑 Nginx 配置文件。

生成回源密钥并配置 Nginx 校验

密钥相当于源站和 CDN 之间的暗号,建议用随机字符串,不要用简单单词。

在服务器上生成一个随机密钥:

openssl rand -hex 24

假设得到 a1b2c3d4e5f6...,先记下来,后面 CDN 控制台要用同一个值。

下面编辑源站 Nginx 配置文件。
宝塔面板路径是:网站 → 找到对应站点 → 设置 → 配置文件。

在 server 块内、location 之前加入校验逻辑。
关键点是:只校验来自 CDN 的回源请求,不影响普通用户访问。

set $cdn_auth 0;
if ($http_x_cdn_auth = "a1b2c3d4e5f6...") {
    set $cdn_auth 1;
}
if ($cdn_auth = 0) {
    return 403;
}

这段配置的意思是:请求头 X-CDN-Auth 的值必须等于你生成的密钥,否则直接返回 403。

注意:如果你还有其他合法回源方式(比如内网负载均衡),需要一并放行,否则会被误拦。

保存后重载 Nginx:

nginx -t && nginx -s reload

在 CDN 控制台设置回源请求头

登录 CDN 服务商控制台,找到回源配置或请求头设置。
不同厂商叫法不同,常见路径是:域名管理 → 回源配置 → 自定义回源 HTTP 请求头。

新增一条请求头:

  • 参数名:X-CDN-Auth
  • 参数值:a1b2c3d4e5f6...(和源站配置完全一致)

保存后等待 CDN 配置生效,通常几分钟内全网生效。

此时用浏览器直接访问源站 IP,应该返回 403;
通过 CDN 域名访问,应该正常打开。

常见坑和排查方法

CDN 配置未生效就测试:刚保存回源请求头时,部分节点可能还在用旧配置,建议等 5 到 10 分钟再验证,否则会误判。

密钥不一致:源站和 CDN 的密钥必须完全一致,注意大小写和空格。
如果源站返回 403 但 CDN 域名也打不开,先检查两边的值是否一致。

宝塔面板保存后不生效:宝塔有时会缓存配置文件,建议在面板里点“重载配置”或手动执行 nginx -s reload,并用 nginx -t 确认语法无误。

误拦搜索引擎蜘蛛:如果蜘蛛直接回源,会被 403 拦截。
建议在 Nginx 校验逻辑里对主流搜索引擎 IP 段放行,或者让蜘蛛也走 CDN 回源。

只加请求头不校验:有些站长只在 CDN 加了请求头,源站没做校验,这样等于没配。
两边必须同时改。

验证回源鉴权是否真正生效

验证分两步。
第一步,用 curl 直接请求源站 IP,不带请求头:

curl -I http://你的源站IP

预期返回 403 Forbidden。

第二步,带正确请求头再请求:

curl -I -H "X-CDN-Auth: a1b2c3d4e5f6..." http://你的源站IP

预期返回 200 OK。

第三步,通过 CDN 域名正常访问网站,页面能打开、图片能加载,说明回源链路正常。

如果三步都符合预期,回源鉴权就配置成功了。
之后定期检查源站日志,确认没有大量非 CDN IP 的直接请求,就说明防护持续有效。

几个容易忽略的细节

回源鉴权只解决“谁可以回源”的问题,不替代 WAF 和 CC 防护。
如果攻击者通过 CDN 发起大量请求,仍然需要 CDN 侧的防护策略。

密钥要定期更换,尤其是人员变动或怀疑泄露时。
更换时先改 CDN 再改源站,或者两边同时改,避免中间出现 403 窗口。

如果你使用多个 CDN 或主备回源,每个回源请求头都要覆盖到,否则备用线路会失效。

最后,源站防火墙可以进一步限制只允许 CDN 节点 IP 段访问 80 和 443 端口,和回源鉴权形成双重保险。
不过 CDN 节点 IP 段会变动,建议以服务商官方文档为准,不要写死过期网段。

分享到:
上一篇
HTTPS证书过期自动检测脚本,提前告警提醒
下一篇
CDN多厂商切换方案,网站不停机更换CDN
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意