接入 CDN 的回源配置与缓存策略
发布时间:2025-10-27 09:44       
更新时间:2025-10-27 22:10
CDN(内容分发网络)的提速效果,一半来自节点离用户近,另一半来自回源配置和缓存规则。后者设不对,节点再多也是反复回源取同一份文件,效果打折,源站负载也降不下来。
回源的两个关键项
回源地址填源站 IP 或域名,另一个容易忽略的字段是回源 Host——它决定 CDN 回源时请求头里带的域名是什么。源站一台 Nginx 挂多个站点时,回源 Host 必须填对应站点的域名,否则源站按默认站点响应,返回的全是错内容。回源协议选 HTTP 还是 HTTPS,要和源站配置对上:源站开了强制 HTTPS 而回源走 HTTP,301 跳转会形成回源循环,这是接入 CDN 后最常见的故障之一。
缓存规则分级
按更新频率分三档:HTML 页面不缓存或只缓存几十秒;css、js、图片这类静态资源缓存几小时到一天;文件名带 hash 的构建产物直接缓存一年。接口路径明确配置不缓存。规则冲突时更具体的优先,配置完拿每一类的真实 URL 逐个验证响应头,别凭规则列表想象生效结果。大文件下载类业务单独评估:这类内容回源一次代价高,适合用预热功能先把内容推到节点,而不是等用户第一次访问去回源。
命中率怎么观测
看两处:控制台的命中率曲线,以及响应头里的缓存标记(形如 X-Cache: HIT 或 MISS)。上线后挑几个高频资源 URL 反复请求,稳定 HIT 才算生效。回源带宽曲线是另一面镜子,命中率提上去,回源带宽会同步降下来,两个图对着看最直观。命中率低的常见原因是 URL 带随机参数,同一个资源被当成无数个文件,这类要在缓存规则里配置忽略参数,或程序侧去掉无意义参数。调整规则之后,记得刷新相关路径的已有缓存,旧文件可能长期挂在节点上不动。
三类回源故障速查
回源 404 或内容不对:九成是回源 Host 填错。回源超时:源站防火墙只放行了自家 IP,CDN 节点网段进不来,把官方公布的回源网段加进放行清单。页面来回跳转:回源协议和源站跳转规则打架,按前文把回源协议对齐即可。