Hello, 

I am using nginx as a reverse proxy to cache content for an application. 
Requests to the application are expensive, so I would like to set up caching so 
that if the file exists in nginx, it won't even bother querying the backend 
server. 

I can't seem to figure out what I am missing. 

This is how I am set up: 


location /download { 
index index.html index.htm; 
proxy_pass http://x.x.x.x/download; 
proxy_set_header X-Real-IP $remote_addr; 
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
proxy_set_header Host application.domain.com; 
proxy_set_header Accept-Encoding ""; 
proxy_ignore_headers Set-Cookie X-Accel-Expires Expires Cache-Control; 
if_modified_since off; 
add_header X-Cache-Status $upstream_cache_status; 

proxy_cache_valid 200 24h; 
expires 168h; 
proxy_cache staticfilecache; 
} 

proxy_cache_path /var/www/nginxcache/ levels=1:1:2 
keys_zone=staticfilecache:2000m inactive=10800m; 
proxy_cache_key "$scheme$host$request_uri$cookie_user"; 

So for all requests to /download, I want it to serve strictly from the cache. I 
do not want it to query the proxy_pass location at all (not even for last 
modified time) if the file exists in the local cache. I just want it to serve 
the cached copy and be done. 

Is this possible? 

_______________________________________________
nginx mailing list
[email protected]
http://mailman.nginx.org/mailman/listinfo/nginx

Reply via email to