Ngx 反向代理禁用缓存
反向代理中禁用缓存并允许传输 cookies、headers 等其他参数到源地址
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://backend_server;
# 禁止缓存
proxy_cache_bypass $http_cache_control;
proxy_no_cache $http_pragma $http_authorization;
proxy_cache off;
# 允许传输 cookies、headers 等其他参数到源地址
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
}
proxy_cache_bypass
指令根据客户端请求中的 Cache-Control 头信息来判断是否绕过缓存。如果客户端请求中包含Cache-Control: no-cache
,则绕过缓存。proxy_no_cache
指令根据客户端请求中的 Pragma 头信息和 Authorization 头信息来判断是否不使用缓存。proxy_cache
指令用于完全禁用代理服务器上的缓存功能。proxy_set_header
指令用于设置需要传输到源地址的 headers。这里设置了 Host、X-Real-IP、X-Forwarded-For、X-Forwarded-Proto、Upgrade 和 Connection 等头信息
通过这些指令的组合,可以在 Nginx 反向代理中禁用缓存并允许传输 cookies、headers 等其他参数到源地址
Last updated