考虑这种配置(假设/foo
不存在):
server {
set $x 1;
location = / {
set $x 0;
try_files /foo @l;
}
location / {
try_files /foo @l;
}
location @l {
set_header X $x;
proxy_pass http://localhost:1000/;
}
}
当我导航到 时,响应标头X
始终是偶数。这是为什么?我如何使变量通过 传播?1
/
try_files
答案1
根据您的评论,正确的做法是使用fastcgi_no_cache
与地图结合的指令。以下示例显示了它的样子:
map $uri $cache {
default "1";
"~^/myuri" "0";
}
server {
...
location / {
fastcgi_no_cache $cache;
fastcgi_pass ...
}
}