On 17/03/13 23:08, Maxim Dounin wrote: > Hello! > > On Sun, Mar 17, 2013 at 08:08:39PM +0000, John Moore wrote: > >> I've used nginx as a reverse proxy server for a long while but I've not >> tried out the proxy cache until today, and I have to say I'm a little >> bit confused by what I'm seeing in the cache log, and I'm wondering >> whether I've set things up correctly. My requirements are actually >> pretty simple. I have a couple of locations which I want to proxy to >> another server and cache the results. Thus: >> >> location /media/house_images/{ >> proxy_pass http://backend; >> proxy_cache one; >> } >> >> location /media/boat_images/{ >> proxy_pass http://backend; >> proxy_cache one; >> } >> >> >> Apart from this, I don't want any cacheing of responses to be done. I am >> assuming that the default is NOT to cache unless a cache zone is >> specified (at the server or location level, presumably), so either >> omitting a proxy_cache or specifying 'proxy_cache off' should be >> sufficient to achieve this, should it not? > Yes, without proxy_cache (or with "proxy_cache off") configured in > a location cache won't be used. > >> Two things are puzzling me, though. Firstly, in the cache log, I'm >> seeing the URLs of all kinds of requests which SHOULD NOT be cached, and >> I'm wondering whether all requests are logged whether they're cached or >> not - I certainly hope this is the case and it's not actually cacheing >> these responses. I would definitely prefer to only see entries in the >> log for requests matching locations for which a cache has been >> specified. I presume this is possible? > You can configure logs for a specific location, see > http://nginx.org/r/access_log. > >> Secondly, the very requests which I would expect to be cached are all >> showing up in the log with the word 'MISS' in the $upstream_cache_status >> column. > This usually happens if your backend doesn't specify allowed cache > time (in this case, proxy_cache_valid should be used to set one, > see http://nginx.org/r/proxy_cache_valid) or if backend responses > doesn't allow cache to be used (either directly with > Cache-Control/Expires headers, or indirectly with Set-Cookie > header, see http://nginx.org/r/proxy_ignore_headers). >
Excellent - thanks, Maxim! That's got me sorted now, it all seems to be working as planned. _______________________________________________ nginx mailing list nginx@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx