Nginx proxy_cache_valid
proxy_cache 可以缓存 upstream 响应,其中 proxy_cache_valid
设置缓存有效时间,需要注意的是 Nginx 检查缓存是否有效的优先级问题。根据文档和 Igor,Nginx 判断缓存有效的顺序是:
X-Accel-Expires
Expires/Cache-Control
proxy_cache_valid
也就是说 Nginx 会优先用 upstream 设置的缓存有效期,这种情况下 Nginx 相当于 Client,如果想忽略缓存直接到 upstream 更新,类似浏览器忽略本地缓存,可以这样设置:
proxy_ignore_headers X-Accel-Expires Expires Cache-Control;
另外 proxy_cache_path ... inactive=10m;
不受 upstream 影响,缓存文件在指定时间内没有被再次访问会被清理删除。
参考:
Was this page helpful?