1. 概述与准备工作
部署 CDN 之前必须明确加速范围(静态/动态/整站)并确定业务需求。
确认域名是否需要裸域或子域接入 CDN,避免 CNAME 与裸域冲突。
准备好源站 IP(建议隔离真实公网 IP),并记录端口与防火墙策略。
评估峰值流量,示例:预计峰值 50k RPS 或带宽 10Gbps,将决定 CDN 与防护能力。
制定回滚方案与健康检查策略,保证配置错误时能快速回退。
2. 域名解析与 DNS 配置注意
使用 CNAME 接入 CDN 时,确认 DNS TTL 设置合理(建议 60-300 秒用于快速切换)。
裸域通过 ALIAS/ANAME 或 DNS 托管商的特殊记录接入,避免直接 A 记录泄露源站。
务必在 CDN 控制台绑定正确的域名(含 www 与无 www),并验证 host 头部。
检查 DNSSEC 与解析链路,避免解析被污染导致加速失败。
示例:域名 example.com,CNAME 指向 cdn.examplecdn.net,DNS TTL=120。
3. 源站与缓存策略配置要点
源站应限制仅允许 CDN 节点访问(通过白名单或真实 IP 隐匿),避免直接访问绕过加速。
合理设置 Cache-Control 与 Expires,静态资源建议 max-age=31536000,配合版本号(如 file.v1.js)。
动态内容使用 Cache-Control: no-cache 或短 TTL(如 30 秒)并配合 CDN 的边缘缓存规则。
示例 nginx 缓存配置片段(用于演示,需按需调整):proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=one:10m inactive=60m max_size=10g;。
注意缓存键设置,避免因未包含 query string 导致缓存污染,可使用 proxy_cache_key "$scheme$host$request_uri";
4. HTTPS 证书与安全配置
确保 CDN 与源站之间的通信可选择 HTTPS(建议开启),避免明文回源导致中间人风险。
证书类型可选择 CDN 提供的托管证书或上传自签证书,若为自签或私有证书需在 CDN 控制台配置信任。
启用 HSTS、OCSP stapling、严格传输安全等可以提高安全性,HSTS max-age 建议至少 1 个月再上线到生产。
确保 TLS 版本与加密套件符合合规要求,如 TLS 1.2+,禁用弱加密套件。
示例:使用 Let's Encrypt 的证书自动更新间隔 60 天,CDN 持续同步证书状态。
5. DDoS 防御与访问控制策略
开启 CDN 的 WAF 与速率限制功能,常见阈值示例:单 IP 100 RPS,单 URL 1000 RPS。
配置地理封禁、黑白名单与自定义防护规则,针对应用层攻击(如 CC)使用验证码或 challenge。
流量峰值承载能力需与 CDN 服务商确认,例如最小带宽 5Gbps,DDoS 清洗峰值 20Gbps。
日志与监控必须实时上报,设置告警阈值(如 75% 带宽或 60k RPS)以便迅速响应。
定期演练应急预案,模拟 2 倍预期峰值流量进行压力测试,验证自动扩容与清洗效果。
6. 部署检查清单与真实案例演示
清单项:DNS TTL、CNAME 绑定、源站白名单、TLS 回源、缓存策略、WAF 规则、日志采集与告警。
案例:某中型电商在促销期间使用 CDN + 源站白名单部署,峰值流量达 6Gbps,未备案时因源站裸 IP 被爬虫扫描导致缓存击穿。
调整措施:将源站端口 80/443 仅允许 CDN 节点访问(封禁所有公网直接访问),引入 proxy_cache 与限流规则后,95% 静态命中率,源站 QPS 从 12k 降至 800。
下面为示例配置与规格对照表(示例数据仅供参考):
| 项 | 示例值 |
| 源站带宽 | 1Gbps |
| CDN 清洗能力 | 20Gbps |
| 静态缓存命中率 | 95% |
| DNS TTL | 120 秒 |
| 建议单 IP 限流 | 100 RPS |