如何禁用 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_cache 是 off
,因此您不会有任何不需要的缓存行为。此外,您可能需要检查日志以完全确定,据我所知,如果文件的大小超过其 buffer 配置指令,nginx 会尝试缓存文件。
你的指示:
add_header Cache-Control no-store;
add_header Pragma no-cache;
完全是另一回事,它是浏览器客户端,而不是 nginx
(服务器)。
在下面的反向代理配置中会默认有缓存行为吗?
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_cache 是 off
,因此您不会有任何不需要的缓存行为。此外,您可能需要检查日志以完全确定,据我所知,如果文件的大小超过其 buffer 配置指令,nginx 会尝试缓存文件。
你的指示:
add_header Cache-Control no-store;
add_header Pragma no-cache;
完全是另一回事,它是浏览器客户端,而不是 nginx
(服务器)。