uwsgi_next_upstream
`uwsgi_next_upstream` 指令指定了在当前服务器发生故障时,NGINX 服务器尝试将请求传递给组中下一个服务器的条件。 — NGINX HTTP Core
uwsgi_next_upstream
httpserverlocation
语法uwsgi_next_upstream error | timeout | invalid_header | http_status;
默认值off
上下文http, server, location
模块NGINX HTTP Core
参数1+
说明
`uwsgi_next_upstream` 指令用于处理与上游 UWSGI 服务器通信时的失败情况。它允许你配置特定的响应码或条件,当这些条件触发时,会在上游组的下一个服务器上重试该请求。你可以指定的值包括常见的失败条件,例如 `timeout`、`invalid_header`,以及表示错误的一系列 HTTP 状态码(例如,`502`、`503`、`504`)。这种灵活性通过在服务器出现问题时提供备选方案,帮助提高 Web 应用的可靠性。 当 NGINX 在处理 UWSGI 请求时遇到与指定失败条件匹配的错误时,它会自动尝试将请求重新路由到 `uwsgi_pass` 指令中定义的下一个服务器。这可以通过防止临时错误影响最终用户体验,显著增强应用的弹性。提供给该指令的参数可以组合使用,以提供一套全面的重试策略,针对你的特定应用需求进行定制。
配置示例
location /app {
uwsgi_pass backend;
uwsgi_next_upstream error 502 503 504;
}⚠
确保上游服务器能够处理与初始服务器相同的请求,以避免出现不一致的行为。
⚠
该指令仅应在 `uwsgi` 指令的上下文中使用,例如 `uwsgi_pass`,否则不会生效。
⚠
如果多个上游服务器不可用,且未配置适当的退出条件,请求可能会进入重试循环。