Cache always shows expired status for anonymous users
Quintin Par
quintinpar at gmail.com
Sat Oct 20 09:42:13 UTC 2012
I realized my folly. Set-Cookie for csrf token is invalidating the cache!
- Quintin
On Fri, Oct 19, 2012 at 7:50 AM, Quintin Par <quintinpar at gmail.com> wrote:
> I have my homepage cached as shown
>
> location = / {
>
> if (-f /var/www/statichtmls/during_build.html) {
>
> return 503;
>
> }
>
> set $country_code $http_x_country_code;
>
> set_if_empty $country_code $geoip_country_code;
>
>
>
> limit_req zone=pw burst=5 nodelay;
>
> proxy_pass http://localhost:82;
>
> proxy_set_header Host $host;
>
> proxy_set_header X-Real-IP $remote_addr;
>
> proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
>
> proxy_set_header X-Country-Code $country_code;
>
> proxy_set_header Accept-Encoding "";
>
> proxy_ignore_headers Cache-Control;
>
> proxy_ignore_headers Expires;
>
> proxy_ignore_headers X-Accel-Expires;
>
> add_header X-Cache-Status $upstream_cache_status;
>
> proxy_cache cache;
>
> proxy_cache_key
> $scheme$host$request_uri$cookie_sessionid$country_code;
>
> proxy_cache_valid 200 302 2m;
>
> proxy_cache_use_stale updating;
>
> }
>
> But every time I hit the page as an anonymous user it shows
>
> X-Cache-Status: EXPIRED
>
>
> user$ curl -I site.com
>
> HTTP/1.1 200 OK
>
> Server: ngx_openresty
>
> Date: Fri, 19 Oct 2012 02:15:32 GMT
>
> Content-Type: text/html; charset=utf-8
>
> Connection: keep-alive
>
> Keep-Alive: timeout=60
>
> Vary: Accept-Encoding
>
> Vary: Cookie
>
> Set-Cookie: csrftoken=Dl4mvy4Rky7sfZwqek27hFrCXzWCi9As; expires=Fri,
> 18-Oct-2013 02:15:32
>
> GMT; Max-Age=31449600; Path=/
>
> X-Cache-Status: EXPIRED
>
> I want to cache it both for logged in and anonymous and it looks like the
> absence of session cookie is creating issues.
>
> How do I cache the homepage correctly?
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20121020/071ad840/attachment.html>
More information about the nginx
mailing list