如何配置CDN缓存过期时间?

陈

陈DevOps

· 阅读 2168

分享
CDN缓存配置

如何配置CDN缓存过期时间?

CDN缓存过期时间(TTL)直接影响缓存命中率和内容更新速度。设置太长,更新内容用户看不到;设置太短,回源太多影响性能。本文介绍CDN缓存过期时间的配置方法。

「如何配置CDN缓存过期时间?」并不是一个孤立的话题。CDN 与边缘加速同时牵动容量规划、网络划分、弹性伸缩与容灾边界等多个层面,只有把它们当作一个整体来推进,才能避免上线之后反复返工、被动救火。

如何配置CDN缓存过期时间?

配置方式

CDN控制台 → 域名管理 → 缓存配置 → 缓存过期时间。可以按文件后缀或目录设置不同的TTL。

推荐配置

  • 图片(jpg/png/gif/webp/svg):30天。图片更新频率低,可以长期缓存。
  • CSS/JS文件:7天。配合文件名版本号(如app.v1.2.js)使用,更新时改版本号即可。
  • 字体文件(woff/woff2/ttf/eot):30天。字体很少更新。
  • HTML文件:10分钟-1小时。HTML通常需要及时更新。
  • 视频文件(mp4/m3u8/ts):30天。
  • API响应:不缓存或10秒。动态内容不应长期缓存。

优先级

CDN缓存优先级:源站Cache-Control > CDN自定义规则 > 默认规则。如果源站返回了 Cache-Control: max-age=3600,CDN会按源站的设置缓存(1小时),忽略CDN自定义规则。如果需要CDN规则覆盖源站设置,在CDN控制台开启"忽略源站缓存策略"。

更新缓存

内容更新后需要刷新CDN缓存。控制台 → 刷新预热 → URL刷新。建议静态资源使用版本号管理,避免手动刷新。

如何配置CDN缓存过期时间?

把CDN 与边缘加速放回架构全局来看

单点的最优解,叠加起来未必是全局最优。评估CDN 与边缘加速时,建议先明确业务的峰值模型与故障容忍度,再倒推资源与网络该怎么设计:哪些负载是稳定基线、哪些是突发流量、哪些可以容忍短暂中断,答案不同,架构取向也完全不同。

在此基础上再谈规格与参数,才有意义。否则很容易陷入「先买资源、再找用途」的被动局面,成本与复杂度都会随之上升。

落地前的自检清单

  • 容量与规格:是否用真实压测数据而非经验估算来定规格,是否预留了弹性空间。
  • 网络与边界:网段划分是否留有扩展余地,安全组是否遵循最小开放原则。
  • 弹性与容灾:扩缩容策略是否经过演练,故障切换路径是否清晰、可回退。
  • 可观测性:关键链路是否有指标、日志与告警覆盖,出问题能否快速定位。

这四件事做到位,CDN 与边缘加速才算真正「落地」,而不是停留在方案文档里。