Nginx 的陈旧对象生命周期如何运作?

Nginx 的陈旧对象生命周期如何运作?

我使用 nginx (1.8.0) 来提供内容。我将其设置为响应 stale ( proxy_cache_use_stale)updating和其他。我注意到它正在响应404 响应虽然它是updating它的缓存,但我认为只有2xx响应才是陈旧的。

对象(HTTP 响应)如何进入、离开并更新为陈旧?

如何才能减轻这种影响?(我的意思是将旧版本从 404 更新为最新的有效 200)

示例配置:nginx.conf

http {
    proxy_cache_use_stale error timeout updating invalid_header;
    proxy_cache_valid 404 10s;

    server {
      location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_cache_key $http_x_scheme$http_x_fe_host$uri;
        proxy_cache_lock on;
        proxy_cache_lock_timeout 5s;
      }
    }

    server {
      listen 8080;
    }

}

答案1

问题在于我有时会为max-ageHTTP 标头生成一个浮点,然后 Nginx 会出现这些奇怪的行为,例如不更新陈旧的对象。

相关内容