Debugging FastCGI caching
Maxim Dounin
mdounin at mdounin.ru
Mon Jan 28 08:51:46 UTC 2013
Hello!
On Mon, Jan 28, 2013 at 01:28:36AM -0500, Daniel15 wrote:
> Francis Daly Wrote:
> -------------------------------------------------------
> > $ curl -i -I http://dan.cx/
> > HTTP/1.1 200 OK
> > ....
> > Cache-Control: private
> > ....
> >
> > I don't see anything in your config which adds that header, so
> > presumably it is coming from upstream.
>
> Thanks, Mono / ASP.NET must be adding that by default (as I have not
> explicitly added any caching headers). I'll set the correct caching headers
> for this page.
>
> Based on this, I assume that Nginx only caches responses with Cache-Control:
> public (or similar) headers? I couldn't find this documented anywhere on the
> Nginx site so I wasn't sure.
Yes, any of the "private", "no-cache" and "no-store" in
Cache-Control disables cache.
> Does Nginx use the Expires or Max-Age headers, and how do these work with
> fastcgi_cache_valid? If the Max-Age is 1 hour and Expires is 1 hour in the
> future, but fastcgi_cache_valid is set to 2 hours, how long would Nginx
> cache the response for?
The "Expires" header takes precedence over fastcgi_cache_valid
(unless ignored with fastcgi_ignore_headers; and, BTW, this is
documented at http://nginx.org/r/fastcgi_cache_valid).
There is no "Max-Age" header, but the "max-age" directive of the
"Cache-Control" header, and it takes precedence over
fastcgi_cache_valid as well.
--
Maxim Dounin
http://nginx.com/support.html
More information about the nginx
mailing list