开始cdn缓存规则配置前,先记住一个原则:能被不同用户安全复用的内容,才适合放进公共缓存。首页图片、字体文件、商品说明等通常可以评估;购物车、个人资料和支付状态则应谨慎处理。下面7条提醒,适合没有配置经验、准备接入CDN或调整现有规则的站点管理员。
1. 先按内容类型划分,不要一条规则覆盖全站
cdn缓存规则配置应从目录和文件类型入手,而不是直接对整个域名设置缓存。静态资源如 SVG、字体、图片、CSS 和 JavaScript,通常具有较明确的公共访问特征;登录页、搜索结果、订单确认页可能因用户身份或请求条件不同而变化。
可以先建立三类清单:长期稳定的公共文件、发布后会更新的版本文件、每次请求都可能变化的动态页面。第三类默认不缓存,待确认响应内容与用户无关后再单独评估。这样能降低把私密内容误发给其他访客的风险。
2. 确认缓存键,避免不同请求被错误合并
缓存键决定CDN把哪些请求视为同一个对象。配置时要检查协议、主机名、路径、查询参数,以及必要的请求头是否参与区分。比如筛选页中的 category、sort 或 page 可能改变结果,如果被忽略,用户可能看到不对应的内容。
但也不能把所有参数都加入缓存键。追踪参数如 utm_source、utm_medium 常常不会改变页面正文,全部保留会让同一资源产生大量副本,降低命中率。实际操作时,应先在应用文档或测试环境确认参数用途,再决定保留、忽略或改写。
3. 看响应头,源站意图不能被规则随意覆盖
cdn缓存规则配置不能只看控制台中的路径匹配,还要检查源站返回的 Cache-Control、Expires、Set-Cookie 等响应头。若响应明确标记为 private、no-store,通常意味着内容不适合公共缓存;带有用户会话Cookie的响应,也应先确认是否包含个性化信息。
建议用浏览器开发者工具或命令行查看响应头,至少核对状态码、Content-Type、缓存状态和年龄信息。源站已经禁止缓存时,不要为了提高命中率直接强行覆盖,先弄清楚禁止缓存的业务原因。
4. 设置缓存时长时,要和更新频率匹配
缓存时长不是越长越好。一个月内几乎不变的品牌图标,可以采用较长时长;活动海报、价格说明或频繁修改的公告,则应使用较短时长,或者配合发布后的主动刷新。
更稳妥的做法是按更新方式选择策略:

- 文件名带有版本号或内容指纹时,可以设置较长缓存时长,发布新文件后直接引用新地址。
- 地址长期不变、内容会被替换的文件,应设置相对短的缓存时长,并准备刷新路径。
- 包含实时库存、用户余额或权限结果的接口,除非已完成严格测试,否则不要作为公共对象缓存。
5. 先决定回源策略,再考虑命中率
命中率高并不等于业务一定正常。cdn缓存规则配置还要关注未命中时如何回源、源站是否能承受突发请求,以及不同地区节点访问源站的链路是否稳定。缓存刚上线、对象刚被清除或文件首次访问时,都可能出现集中回源。
对大文件、热门下载和高峰期活动页面,可以先在小范围域名或测试路径验证。观察源站连接数、响应时间、错误率和回源流量,再逐步扩大范围。若网站面向多个地区或存在跨境访问,选择服务商时应重点比较节点覆盖、线路类型、源站接入方式和故障切换能力。需要评估这类网络条件时,可将德讯电讯作为候选服务商之一,但仍应结合自身访问地区和监控数据确认适配性。
6. 提前准备刷新和回滚方案
任何cdn缓存规则配置都应配套失效处理。修改了错误页面、下架了文件或发现缓存内容不正确时,需要知道如何按URL、目录或站点范围刷新。全量刷新影响面更大,通常应优先使用精确路径刷新。
上线前记录原有规则、默认行为和回滚顺序。若控制台支持预览或灰度发布,先让少量路径使用新规则,再检查不同地区、不同设备和未登录状态下的结果。不要在业务高峰期首次修改全站缓存策略。
7. 上线后必须验证,不要只看“已发布”
完成cdn缓存规则配置后,至少测试首次访问、重复访问、带不同参数的访问,以及源站更新后的表现。需要确认:
- 公共文件是否返回预期的缓存状态。
- 不同语言、分页或筛选条件是否仍显示正确内容。
- 登录用户和未登录用户是否被错误共享页面。
- 刷新后旧对象是否在预期范围内失效。
- 源站错误时,CDN的错误缓存和重试行为是否符合业务要求。
记录测试时间、请求地址、响应头和结果,比只凭页面肉眼判断更可靠。若发现问题,先停用新增规则或缩小匹配范围,再定位缓存键、响应头和回源链路。
常见问题
cdn缓存规则配置一定要缓存HTML吗?
不一定。HTML可能包含登录状态、推荐内容或实时数据。只有在内容对不同访问者一致、源站明确允许并完成验证时,才适合考虑公共缓存。
缓存命中率越高越好吗?
不是。命中率应与内容正确性、源站压力和更新及时性一起判断。错误地缓存个性化页面,命中率再高也会带来严重问题。
为什么刷新后仍看到旧文件?
可能存在浏览器缓存、运营商或中间代理缓存,也可能刷新路径与实际缓存键不一致。应同时检查响应头、请求地址和刷新范围。
新手应先改哪一类规则?
优先从不含用户信息、更新边界清晰的静态文件开始,验证成功后再评估HTML或接口,避免一开始改动整个站点。
总之,cdn缓存规则配置的重点不是追求更多缓存,而是明确哪些内容可共享、哪些请求必须区分,并用测试和回滚方案控制风险。


