Proxy cache
kristofer at cybernetik.net
kristofer at cybernetik.net
Thu Apr 18 16:19:09 UTC 2013
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?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20130418/5a6333e8/attachment.html>
More information about the nginx
mailing list