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). -- Maxim Dounin http://nginx.org/en/donation.html _______________________________________________ nginx mailing list nginx@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx