可通过在缓存规则列表顶部新增高优先级“兜底绕过规则”实现全站绕过缓存:匹配URL路径“/”并启用“匹配所有子路径”,缓存资格设为“绕过缓存”,同时开启“忽略源站Cache-Control和Expires头”或覆写Cache-Control为no-store,no-cache,must-revalidate,验证后可秒级回滚。

没有“一键全站绕过缓存”的通用开关,但可以通过控制缓存规则的优先级和生效逻辑,快速实现等效效果。核心思路是:让所有请求都匹配一条高优先级的“强制绕过”规则,从而跳过所有缓存行为——这比逐条删规则或改源站更可控、可逆、不中断服务。
用最高优先级规则覆盖全部流量
主流 CDN 或边缘平台(如阿里云 ESA、腾讯云 EO、Cloudflare)均支持规则优先级机制。你不需要关闭整个缓存系统,只需插入一条“兜底绕过规则”,并确保它排在所有其他缓存规则最前面:
- 在缓存规则列表顶部新增一条规则,名称如“紧急全站绕过”
- 匹配条件设为最宽泛的表达式:URL 路径匹配 /(即根路径)且不加任何限制,或使用通配符如
*(具体语法依平台而定;ESA 支持Path == "/"+ 启用“匹配所有子路径”选项) - 缓存资格明确选择绕过缓存
- 保存后立即生效,无需重启或回源等待
配合源站响应头做双重保险
规则生效后,仍需防止源站返回的缓存头干扰(例如源站误带 Cache-Control: public, max-age=3600)。此时可在同一条规则中补充行为:
- 开启“忽略源站缓存头”选项(ESA 中叫 忽略源站 Cache-Control 和 Expires 头;EO 中对应 忽略源站缓存指令)
- 或手动覆写响应头:添加动作
Set Header: Cache-Control = no-store, no-cache, must-revalidate - 这样即使规则漏配某类请求,源站头也会被强制压制,进一步降低缓存命中可能
验证与快速回滚
启用后务必验证是否真正生效,避免“以为绕过了,其实还在缓存”:
- 用
curl -I https://yoursite.com/test.html查看响应头,确认含X-Cache: MISS或X-Cache-Status: BYPASS类标识(各平台命名不同) - 检查真实页面加载时,Network 面板中资源的 Size 列是否显示 from network(而非 from disk cache 或 from memory cache)
- 回滚只需禁用或删除该顶部规则,其他缓存策略自动恢复,全程秒级完成
不依赖平台时的兜底方案(Nginx 场景)
若用自建 Nginx 做反向代理缓存,可通过变量+if 实现运行时开关:
- 在 http 块定义一个全局 map:
map $host $bypass_cache { default 0; "emergency.yoursite.com" 1; } - 在 location 中加入:
proxy_cache_bypass $bypass_cache;和proxy_no_cache $bypass_cache; - 触发时,只需临时将域名解析指向 emergency.yoursite.com,或直接改 map 值为 1 并重载 nginx(
nginx -s reload)


















