uwsgi_cache_use_stale

`uwsgi_cache_use_stale` 指令允许 NGINX 在遇到特定错误或条件时返回过期的缓存响应。 — NGINX HTTP Core

uwsgi_cache_use_stale
httpserverlocation
语法uwsgi_cache_use_stale
默认值none
上下文http, server, location
模块NGINX HTTP Core
参数1+

说明

`uwsgi_cache_use_stale` 指令控制在对 uWSGI 请求响应时 NGINX 何时应该返回过期的缓存内容。该指令在维护服务可用性方面尤其有用,因为它允许在正在生成新鲜内容时使用过期的缓存响应。你可以使用以下参数来指定在何种情况下返回过期内容:'error'、'timeout' 和 'invalid_header'。例如,如果后端 uWSGI 服务器宕机或超时,用户仍然可以接收到缓存内容而不是错误页面。 要有效地使用此指令,应将其添加到配置了 uWSGI 缓存的 location block 中。它可以根据需要接受多个参数,这意味着如果你指定了 'timeout error',在超时和发生错误的情况下都会返回过期内容。这样可以通过减少用户遇到的服务中断次数来提高应用的健壮性。然而,管理员在广泛使用此指令前应谨慎,确保过期内容对用户仍然是相关且可接受的。

配置示例

location /api {
    uwsgi_pass 127.0.0.1:9000;
    uwsgi_cache my_cache;
    uwsgi_cache_use_stale error timeout;
}

确保在您的应用场景中允许提供过期内容;这可能会导致提供过时的信息。

请记得在使用 `uwsgi_cache_use_stale` 之前,使用 `uwsgi_cache` 定义一个有效的缓存配置。

组合过多选项可能导致行为复杂;请进行充分测试。