在 Nginx 中为某些 IP 禁用 Cache-Control
Disabling Cache-Control in Nginx for certain IPs
我服务器上的静态文件通过 Cache-Control headers:
与浏览器缓存一起提供
location ~* \.(css|js|gif|jpe?g|png)$ {
expires 1h;
add_header Pragma public;
add_header Cache-Control "public, must-revalidate, proxy-revalidate";
}
是否可以为某些 IP 禁用此 header 以便它们不会缓存任何文件?
P.S。我需要它让以管理员身份登录的用户看到最后的更改。
expires
指令可以由变量控制,通常由map
指令生成。有关详细信息,请参阅 this document。
例如:
map $remote_addr $expires {
default 1h;
10.1.2.3 -1;
}
server {
...
location ~* \.(css|js|gif|jpe?g|png)$ {
expires $expires;
add_header Pragma public;
add_header Cache-Control "public, must-revalidate, proxy-revalidate";
}
}
假定 add_header
语句可以保留,即使 expires
设置为 -1
以禁用缓存。
我服务器上的静态文件通过 Cache-Control headers:
与浏览器缓存一起提供location ~* \.(css|js|gif|jpe?g|png)$ {
expires 1h;
add_header Pragma public;
add_header Cache-Control "public, must-revalidate, proxy-revalidate";
}
是否可以为某些 IP 禁用此 header 以便它们不会缓存任何文件?
P.S。我需要它让以管理员身份登录的用户看到最后的更改。
expires
指令可以由变量控制,通常由map
指令生成。有关详细信息,请参阅 this document。
例如:
map $remote_addr $expires {
default 1h;
10.1.2.3 -1;
}
server {
...
location ~* \.(css|js|gif|jpe?g|png)$ {
expires $expires;
add_header Pragma public;
add_header Cache-Control "public, must-revalidate, proxy-revalidate";
}
}
假定 add_header
语句可以保留,即使 expires
设置为 -1
以禁用缓存。