Talvez algo parecido com isto
Primeiro, salve "$host$request_uri"
em uma variável com definido . Em seguida, dentro de if
, altere o valor da variável. Por fim, defina seu proxy_cache_key
com essa variável personalizada.
Sidenote : nunca use if
dentro da localização se não quiser obter resultados inesperados. Veja IfIsEvil .
Aqui o exemplo:
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 {
.....
}
}
}