Use nginx as proxy with cache for satic files

ice-egal at web.de ice-egal at web.de
Sat Sep 5 14:00:39 MSD 2009


> Hi,
> 
> Settings in your / location will not be inherited by those in other
> locations.  The proxy_pass directive can only go in location or
> location-if (i.e. an if (...) {...} inside a location), and can't go at
> the server level, so you'd have to define the proxy_pass setting in each
> location it's used.
> 
> http://wiki.nginx.org/NginxHttpProxyModule#proxy_pass

Okay, that's what I thought.

>  > In other words: I want all requests going through the proxy, but keep
>  > a cache of ceartain folders on the nginx server. What is the best way
>  > to do so?
>  >
> Probably by putting common settings (which might just be proxy_pass
> http://backend.server.org;) in another file and including the file -
> then you'd only have to change the address / port once.
> 
> If you have multiple locations you want to cache, you could have three
> files:
> 
> proxy.conf : (with just the proxy info)
> 
> proxy_pass  http://backend.server.org;
> 
> proxy_cache.conf :  (with the proxy and the cache info)
> 
> include  proxy.conf;
> proxy_cache  cache;
> proxy_cache_valid  200 10m;
> 
> nginx.conf  :  (with the rest)
> 
> ...
> location / {
>   include    proxy.conf;
> }
> 
> location /images/ {
>   include    proxy_cache.conf;
> }
> 
> location /other-cache/ {
>     include   proxy_cache.conf;
> }
> ...
> 
> Hope that helps,
> 
> Marcus.

Thank you very much, Marcus, I didn't think about "include" at all.
Although this way still seems kind of intricate to me, it is probably 
the easiest way to get what I want. I will try it like that and hope it 
works.

Regards,
Alfred





More information about the nginx mailing list