
一、先理解 CNAME 是什么
DNS 记录有几种常见类型:A 记录把域名指向 IP;CNAME 记录把域名指向另一个域名,叫做”别名记录”。
A 记录:
www.example.com → 115.159.82.67
CNAME 记录:
www.example.com → www.example.com.waf-cname.xxxx.com
↓(继续解析)
182.61.129.196(WAF 节点)
关键区别在于:A 记录一步到位指向 IP,CNAME 是”转一手”,最终还要继续解析后面的域名。
二、CNAME 接入的完整链路
- 用户在浏览器输入 www.example.com
- 本地 DNS 向权威 DNS 查询该域名
- 权威 DNS 返回 CNAME 记录:www.example.com.waf-cname.xxxx.com
- 本地 DNS 继续追问这个 WAF 域名
- WAF 的 DNS 根据用户位置返回就近节点 IP
- 用户向该 WAF 节点发起请求
- WAF 节点完成安全检查后,回源到你填写的源站
整个过程对用户完全透明,浏览器地址栏还是你的域名。
三、相比 IP 直连的优势
3.1 隐藏真实源站
外网查到的永远是 WAF 节点 IP,攻击者拿不到你的真实服务器地址。这是抵御攻击的第一道屏障——很多攻击(尤其是定向 DDoS)的前提就是知道你的源站 IP。
3.2 自动负载与就近调度
WAF 厂商的 DNS 会根据用户的地理位置、网络运营商、节点负载,自动返回最优节点。你不需要自己配负载均衡,也不用担心单节点故障。
3.3 换 IP 零成本
如果 WAF 节点需要调整 IP(扩容、故障迁移),厂商在自己那边改一下就行,你的解析记录完全不用动。反观 IP 直连,每次换 IP 都要通知所有用户更新解析。
3.4 天然的容灾能力
某个节点挂了,DNS 自动把流量引到其他健康节点,业务无感。
四、CNAME 接入的注意事项
| 注意点 | 说明 |
|---|---|
| 顶级域名限制 | 部分 DNS 服务商不允许 @ 根域用 CNAME,需用 NS 接入或厂商专用方案 |
| 解析层级增加 | 多一次 DNS 查询,首访延迟略增(通常可忽略) |
| 第三方依赖 | 依赖 WAF 厂商 DNS 的稳定性 |
| CDN 链路 | 若同时用 CDN,注意 CNAME 层级不要冲突 |
| 邮件解析 | MX 记录不受影响,但要确认未被误改 |
五、验证 CNAME 是否配置正确
# 查看 CNAME 记录
dig www.example.com CNAME +short
# 期望输出:www.example.com.waf-cname.xxxx.com.
# 查看最终解析的 IP
dig www.example.com +short
# 期望输出:WAF 节点 IP,而非你的源站 IP
# 观察逐级解析过程
dig www.example.com +trace
# 检查响应来源
curl -I https://www.example.com/ | grep -i server
# 期望:Server: BAIDU_WAF(WAF 节点标识)
六、小结
CNAME 接入是云 WAF 的标准姿势:用一条别名记录,换来源站隐藏、自动调度、零成本换 IP 和天然容灾。理解它的解析链路,也能帮你在出问题时快速定位是 DNS 层、WAF 层还是源站层的问题。
如果你的站点正被恶意爬虫、CC 攻击困扰,或需要一套开箱即用的 Web 应用防护,可以了解百度云防护 Web 应用防火墙(专业版 299 元/月,年付 2399 元,可联系主机吧客服购买)——支持自定义访问策略、URI 频率限制、BOT 防护、威胁情报与 API 防护,无需改动源站代码,改 DNS 即可接入。包年包月计费,流量峰值买多少防多少,无后付费陷阱。
