proxy_cache_use_stale updating

Nguyen Nhat Khang lists at
Wed Sep 9 10:38:18 UTC 2015

I've one storage server using nginx, one cache file server using nginx.
The following are my configuration files:
  1. storage_server.conf(ip address
  server {
    listen      80;
    listen [::]:80 ipv6only=on;
    server_name  _;

    location / {
        return 403;
   location ~ ^/cache/ {
        root /var/my_file_storage;
        directio 1m;
        directio_alignment 8k;
        output_buffers  1 1m;
        try_files $request_uri  =404;

  2. cache_server.conf(ip address
  proxy_cache_path /nginx-cache/cache-level1/cache levels=1
keys_zone=CacheLVL1:10m inactive=12h max_size=5G;
server {
    listen       80;
    listen       [::]:80 ipv6only=on;
    server_name  _;

    location / {
        return 403;

    location ~ ^/cache/ {
        proxy_pass    $request_uri; #
request_uri is path to file on Storage server.
        proxy_cache            CacheLVL1;
        proxy_cache_key     $request_uri;
        proxy_cache_valid    200 30d;
        proxy_temp_path      /nginx-cache/cache-level1/temp;
        proxy_cache_use_stale updating;
        proxy_max_temp_file_size 0;
        add_header X-Proxy-Cache  $upstream_cache_status;
        proxy_set_header Range $http_range;
        proxy_set_header If-Range $http_if_range;
  log_format upstreamlog '[$time_local] $remote_addr to $upstream_addr
  access_log /var/log/nginx/cache.log upstreamlog;

I've read about proxy_cache_use_stale updating. But I do not understand
how its activities:
the updating parameter permits using a stale cached response if it is
currently being updated. This allows minimizing the number of accesses
to proxied servers when updating cached data.
 2. "If I understand this
right if I use proxy_cache_use_stale  updating and
If I have 1000 users trying to access  expired cached information. It
will only send one request to backend server to update the cache ?"

I request multiple times and received multiple files in the
/nginx-cache/cache-level1/temp folder 000000xx format. I think I have
the wrong configuration in my configuration file because it works unlike
what I've read. I never saw the $ upstream_cache_status UPDATING in
It is related to X-Accel-Expires "," Expires "," Cache-Control "is not?
Can someone explain to proxy_cache_use_stale updating your help, Thank!

Posted via

More information about the nginx mailing list