我正在尝试使用不同的proxy_key缓存ajax请求。
我的常规代理密钥:
proxy_cache_key "$host$request_uri";
我想对 ajax 请求(带有 X-Requested-With 标头)使用不同的 proxy_cache_key。
像这样
if ($http_x_requested_with) {
proxy_cache_key "$host$request_uri$cookie_SID";
}
我怎样才能做到这一点?
答案1
也许是这样的
首先,保存"$host$request_uri"
到变量中放。然后在里面if
更改变量值。最后proxy_cache_key
用该自定义变量设置你的。
边注if
:如果您不想得到意外结果,切勿使用内部位置。请参阅假如邪恶。
这里是例子:
http {
...
server {
...
set $cache_key "$host$request_uri";
if ($http_x_requested_with) {
set $cache_key "$host$request_uri$cookie_SID";
}
proxy_cache_key $cache_key;
location / {
....
}
location /others {
.....
}
}
}