适用场景

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 无告警、刷新能立即生效。四条都测过再切流量。

> 说明:文中命令为通用写法,不同型号/版本可能略有差异,落地前请对照设备实际版本的官方文档;带外管理与安全设备变更建议先在测试设备验证。