> One interesting observation
>
> I put this code
>
> location /test {
> proxy_pass http://a/;
> ....
> set $dont_cache 1;
>
> if ( $cookie_route ) {
> set $dont_cache 0;
> }
> proxy_cache_bypass $dont_cache;
> proxy_no_cache $dont_cache;
>
> }
>
> and it started to dis-honour the trailing slash http://a/ With the end /
> it
> does not look for /test but only due to the if block it started to look
> for
> it.
You have to set it at the server level to make it work.
set $dont_cache 1;
if ($cookie_route) {
set $dont_cache 0;
}
location /test {
proxy_pass http://a/;
proxy_cache_bypass $dont_cache;
proxy_no_cache $dont_cache;
}
If creates an implicit location.
If is evil: http://wiki.nginx.org/IfIsEvil
As Igor said above use map and get clear of the if directive quirks.
--appa
_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx