Cloudflare 缓存响应规则现在已经面向所有套餐开放了。它是在源站响应之后、写入缓存之前生效的,不需要改源站代码,就能调整 Cache-Control、移除 Set-Cookie 这些响应头,从而解决静态资源缓存不了、命中率往下掉、源站负载升高这类问题。这个新功能和已有的缓存规则是互补关系。
缓存响应规则到底是个啥?
以前 Cloudflare 的缓存规则主要管的是请求阶段,也就是“这个请求要不要缓存、按什么 key 缓存”。但响应头是源站说了算的,万一源站返回了奇怪的 Cache-Control,或者带着 Set-Cookie,静态资源也会被当成动态内容,死活进不了缓存。缓存响应规则就是来收拾这个烂摊子的。
它插在源站响应之后、边缘节点写入缓存之前。你可以把它理解成一道“关卡”,专门检查源站发出来的响应头,该改的改,该删的删,然后再决定缓存怎么处理。因为不需要动源站应用,所以对研发团队来说是个省事的大招。
和缓存规则怎么分工?
缓存规则和缓存响应规则不是替代关系,而是两条腿走路。缓存规则在请求阶段做预判,比如哪些 URL 需要绕过缓存、缓存 TTL 设多久;缓存响应规则在响应阶段做微调,比如强制覆盖 Cache-Control、去掉 ETag 或 Last-Modified,避免条件请求把缓存逻辑搞乱。
- 请求阶段:缓存规则决定“要不要缓存”“缓存键怎么算”
- 响应阶段:缓存响应规则决定“响应头怎么改”“缓存标签怎么管理”
- 两者叠加,能覆盖更多以前需要写 Worker 才能搞定的场景
哪些场景最受益?
最典型的是那些明明应该是静态文件,却因为响应头不对被缓存系统“拒收”的情况。比如源站给图片加了 Set-Cookie,或者给 CSS/JS 返回了 no-cache。只要把 Set-Cookie 移除,资源就能正常进缓存,命中率立马回升。
还有一个场景是缓存标签管理。很多团队用 Cache Tag 来做定向清理,但源站不会主动打标签。通过缓存响应规则,可以在边缘侧给响应加上统一的 Cache Tag,这样后续做 purge 就非常精准。
数据上,缓存命中率提升之后,源站请求量通常会明显下降。比如一个日请求量 1000 万的站点,命中率从 70% 提到 90%,每天能少打 200 万次源站,带宽和计算成本省下来不是小数目。
配置复杂吗?
不复杂。在 Cloudflare 控制台里找到 Caching 相关的规则入口,新建一条缓存响应规则,匹配你要生效的 URL,然后在动作里选择修改响应头或移除响应头就行。规则支持按主机名、路径、文件扩展名等条件匹配,可以做得非常细。
唯一要提醒的是,别把安全相关的响应头误删了。比如 HSTS 或者 CSP,如果源站没有其他地方补充,最好保留。缓存响应规则虽然强大,但也要配合实际业务来配置。
和国内云厂商组合的玩法
很多团队的做法是 Cloudflare 做全球加速,源站放在国内。如果源站用的是云服务器 ECS,运维同学通常会关心回源带宽和请求量。通过缓存响应规则把命中率做上去,源站压力小了,成本自然可控。想进一步控制成本的话,可以找 易枫顺 - 阿里云官方旗舰级代理商 这类阿里云代理商聊聊,顺便看看有没有阿里云优惠和阿里云代金券,企业上云不光是选对 CDN,后端成本同样值得抠。
FAQ
Q: 缓存响应规则和缓存规则有什么区别?
A: 缓存规则管请求阶段,比如判断哪些请求需要缓存、缓存键怎么算;缓存响应规则管响应阶段,在源站响应后、写入缓存前调整响应头。两者可以同时使用,不冲突。
Q: 缓存响应规则能移除 Set-Cookie 吗?
A: 能。这个功能最常用的操作之一就是移除 Set-Cookie、ETag、Last-Modified 等响应头,避免这些头导致静态资源无法缓存或缓存命中率下降。
Q: 这个功能需要付费吗?
A: 不需要额外付费。Cloudflare 已经向所有套餐开放,免费版也能用。不过不同套餐在规则数量和匹配条件上可能有限制,具体以控制台显示为准。
关于易枫顺
深圳市易枫顺网络科技有限公司是阿里云官方旗舰级代理商。提供云服务器ECS、云数据库RDS、对象存储OSS等阿里云全系产品官方特惠折扣与代金券申请,以及多云成本优化、企业上云一站式服务。客服热线:19520841949 - 易枫顺
来源:InfoQ