我使用 nginx 作为远程 Web 服务器的反向代理。缓存被写入文件。但是,当我将 Varnish 放在它前面时,nginx 停止写入缓存文件,这会导致性能下降并使流量翻倍。
前端(Varnish)怎么可能告诉 nginx 不要缓存这些请求?我尝试调试,但没有发现任何东西。我的 nginx 配置如下:
server {
...
location / {
...
proxy_ignore_headers Set-Cookie Expires Cache-Control;
proxy_cache p-cache;
}
}
再次,如果我直接向 nginx 发出请求,则没有问题。但是我必须使用 Varnish,它是该服务器通往其他服务的唯一门户。
答案1
我找到了。这是因为proxy_cache_min_uses = 3
我在其他地方设置了。使用此声明,当同一 url 上的命中次数少于 3 次时,nginx 将不会缓存到文件。