Nginx 缓存按 Accept-Encoding 分键

优软 发布于 2026-10-15 更新于 2026-10-26 66 次阅读 约 1 分钟

现象

改了站点文件,curl 拿到的是新内容,浏览器却一直是旧页面。

原因

proxy_cache_key 默认包含 $http_accept_encoding。浏览器发 gzip, deflate, br,curl 裸跑不带这个头,两者命中不同缓存条目。

处置

  1. 用一个明确的 UA/头组合复现;
  2. 对首页执行 proxy_cache_purge;
  3. 或者干脆给 HTML 关掉缓存,静态资源长缓存。

排查顺序:先看响应头 X-Cache-Status,再决定清不清。

评论

还没有评论。