如何禁用 Nginx 反向代理中的缓存?

How do I disable caching in an Nginx reverse proxy?

在下面的反向代理配置中会默认有缓存行为吗?

location / {
    proxy_pass http://12.23.45.78:8080;
    proxy_http_version 1.1;
    proxy_set_header Connection "";
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Forwarded-Host $host;
    add_header Cache-Control no-store;
    add_header Pragma no-cache;
}

据我了解,要支持缓存,需要添加proxy_cache参数。是不是说不加这个参数就默认不缓存内容?

我不想在反向代理服务器上缓存后端响应内容,是否需要添加其他设置才能实现?或者现在这些够了吗?

还有下面两行有必要保留吗?好像是告诉访问者的浏览器不要缓存内容,但是是不是也告诉反向代理主机不要缓存内容(存疑)?这让我很困惑......

add_header Cache-Control no-store;
add_header Pragma no-cache;

默认情况下 proxy_cacheoff,因此您不会有任何不需要的缓存行为。此外,您可能需要检查日志以完全确定,据我所知,如果文件的大小超过其 buffer 配置指令,nginx 会尝试缓存文件。

你的指示:

add_header Cache-Control no-store;
add_header Pragma no-cache;

完全是另一回事,它是浏览器客户端,而不是 nginx(服务器)。