Hi, Using NginX as a reverse proxy, I want to cache the response ONLY if the user has NOT logged in, which can be checked by testing the existence of a cookie.
First I tried to use "if", but NginX complained that I cannot put a proxy_cache_valid inside an "if": location / { proxy_pass http://www.xyz.com; if ($cookie_login = '') { proxy_cache my-cache; proxy_cache_valid 200 301 302 60m; } } Then I tried to set the cache-duration to 0s by using a variable, but then NginX complained the time value is incorrect. set $cacheDuration 60m; if ($cookie_login != '') { set $cacheDuration 0s; } proxy_cache my-cache; proxy_cache_valid 200 301 302 $cacheDuration So is there any way to cache conditionally based on the existence of a cookie? Thanks. - Patrick Posted at Nginx Forum: http://forum.nginx.org/read.php?2,239207,239207#msg-239207 _______________________________________________ nginx mailing list nginx@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx