Tag archives: django

Lazy Caching Proxy Results in Nginx

If you are using nginx as your front-end server for Django, you can also use it as a proxy cache (for smaller websites). You configure the cache like so:

proxy_cache_key "$scheme://$host$request_uri";
proxy_cache_path  /var/blog/cache  levels=1:2  keys_zone=blogcache:120m;
proxy_temp_path   /var/blog/proxy;
proxy_cache_valid 200 302  5m;
proxy_cache_valid 404      1m;
proxy_cache_use_stale updating;
proxy_cache_bypass $cookie_sessionid;
proxy_no_cache $cookie_sessionid;

The proxy_no_cache and proxy_cache_bypass lines tell nginx not to cache any pages which have a sessionid set (default name for Django session identifier cookie).  This assumes that you are using ssl-only cookies and you do not intend to cache anything ...

Continue reading