我使用 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-age
HTTP 标头生成一个浮点,然后 Nginx 会出现这些奇怪的行为,例如不更新陈旧的对象。