proxy_next_upstream_timeout
指令 'proxy_next_upstream_timeout' 在代理场景中设置尝试连接下一个上游服务器的超时时间。 — NGINX HTTP Core
proxy_next_upstream_timeout
httpserverlocation
语法proxy_next_upstream_timeout time;
默认值1s
上下文http, server, location
模块NGINX HTTP Core
参数1
说明
在 NGINX 中,`proxy_next_upstream_timeout` 指令用于指定在先前连接尝试失败后,等待下一个上游服务器的最长允许时间。这在跨多个后端服务器进行负载均衡时尤其有用,因为它决定了在遇到特定错误条件或超时后,NGINX 在上游块中重试另一个服务器之前会等待多久。 当请求由于超时或其他定义的条件失败时,NGINX 可以自动尝试连接其他上游服务器。`proxy_next_upstream_timeout` 指令允许管理员控制此类重试的最长尝试时间。通过调整该超时时间,可以优化应用的响应性,在等待可能较慢的服务器与快速切换到健康服务器之间取得平衡。 超时时间以 NGINX 支持的时间格式指定,例如秒、分钟或小时(例如 '30s' 表示 30 秒)。在不同上下文(如 `http`、`server` 或 `location`)中设置此指令可以根据应用需求提供更细粒度的控制。
配置示例
location /api {
proxy_pass http://backend;
proxy_next_upstream_timeout 5s;
}⚠
确保超时时间足够让上游服务器响应,否则可能会经常发生超时。
⚠
注意 `proxy_next_upstream_timeout` 与其他相关指令(例如 `proxy_connect_timeout`)之间的相互影响。
⚠
未设置该值可能导致默认行为,而该默认行为可能不适合您的应用需求。