适用场景
CDN 的价值是"就近访问 + 减轻源站"。但缓存规则配错会出现"改了页面不生效"或"动态接口被缓存导致数据错乱"。
配置步骤(缓存规则设计)
# 1) 静态资源:/static/ 或带指纹的文件,缓存 30 天
# 2) HTML:缓存 1~5 分钟或遵循源站 Cache-Control
# 3) 动态接口:/api/ 不缓存
# 4) 大文件下载:按需开启分片与限速
关键参数与建议
- 缓存策略:静态资源长缓存(带指纹)、HTML 短缓存或不缓存、动态接口不缓存
- HTTPS:CDN 证书与源站证书都要有效,注意证书链完整
- 回源:回源协议(HTTP/HTTPS)、回源 HOST、回源超时与重试
- 刷新与预热:上线后主动刷新缓存;重要资源预热
- 安全:开启 WAF/防刷,限制异常来源
容易踩的坑
- 整站统一缓存,动态接口被缓存导致数据错乱
- HTML 长缓存,改版后用户看到旧页面
- 未设置指纹,静态资源更新后仍命中旧缓存
验证与巡检
curl -I http://CDN域名/static/app.abc123.js | grep -i -E 'cache-control|x-cache'
- 巡检:命中率 >90%(静态)、动态不缓存、刷新生效
小结
CDN 验收:静态资源命中率高、动态请求不被缓存、HTTPS 无告警、刷新能立即生效。四条都测过再切流量。
> 说明:文中命令为通用写法,不同型号/版本可能略有差异,落地前请对照设备实际版本的官方文档;带外管理与安全设备变更建议先在测试设备验证。