File is not refreshed when using proxy_cache_use_stale

Maxim Dounin mdounin at
Fri Feb 10 13:45:28 UTC 2012


On Fri, Feb 10, 2012 at 05:05:45AM -0500, radarek wrote:

> I have following config:
> location /images {
>   proxy_pass;
>   proxy_redirect off;
>   proxy_cache static-cache;
>   proxy_cache_valid any 5m;
>   proxy_cache_valid 404 5m;
>   proxy_cache_use_stale updating invalid_header error timeout http_502;
> }
> The idea is that if backend server reply with error/timeout/invalid
> header it will return stale version and cache it for 5m. Generally it
> works ok but sometimes I have situation when one of my proxy cache
> servers (I have 3 of them) returns stale version and will not refresh
> file until I delete nginx cache files. Here is output from nginx -V:
> $ nginx -V
> nginx version: nginx/0.7.65
> TLS SNI support enabled
> configure arguments: --conf-path=/etc/nginx/nginx.conf
> --error-log-path=/var/log/nginx/error.log --pid-path=/var/run/
> --lock-path=/var/lock/nginx.lock
> --http-log-path=/var/log/nginx/access.log
> --http-client-body-temp-path=/var/lib/nginx/body
> --http-proxy-temp-path=/var/lib/nginx/proxy
> --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --with-debug
> --with-http_stub_status_module --with-http_flv_module
> --with-http_ssl_module --with-http_dav_module
> --with-http_gzip_static_module --with-http_realip_module --with-mail
> --with-mail_ssl_module --with-ipv6
> --add-module=/build/buildd/nginx-0.7.65/modules/nginx-upstream-fair
> Is it known problem or I am doing something wrong?

The above may happen if nginx worker process dies, leaving cache 
node marked as being updated.  Try looking into your logs to see 
if this is the case.  That is: if you have alerts about "worker 
process exited on signal ..." - you have a problem, and this is 
expected result.

In any case it's good idea to upgrade from long unsupported 0.7.x 
branch to at least stable 1.0.x.

Maxim Dounin

More information about the nginx mailing list