<html><body><div style="font-family: times new roman, new york, times, serif; font-size: 12pt; color: #000000"><div>Hello,</div><div><br></div><div>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.</div><div><br></div><div>I can't seem to figure out what I am missing.</div><div><br></div><div>This is how I am set up:</div><div><p style="padding-left: 30px;">location /download {<br> index index.html index.htm;<br> proxy_pass http://x.x.x.x/download;<br> proxy_set_header X-Real-IP $remote_addr;<br> proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br> proxy_set_header Host application.domain.com;<br> proxy_set_header Accept-Encoding "";<br> proxy_ignore_headers Set-Cookie X-Accel-Expires Expires Cache-Control;<br> if_modified_since off;<br> add_header X-Cache-Status $upstream_cache_status;</p><p style="padding-left: 30px;"> proxy_cache_valid 200 24h;<br> expires 168h;<br> proxy_cache staticfilecache;<br> }</p><p style="padding-left: 30px;">proxy_cache_path /var/www/nginxcache/ levels=1:1:2 keys_zone=staticfilecache:2000m inactive=10800m;<br> proxy_cache_key "$scheme$host$request_uri$cookie_user";</p><p style="">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.</p><p style="">Is this possible?<br><br></p></div></div></body></html>