proxy_next_upstream_timeout
指令 'proxy_next_upstream_timeout' 在代理场景中设置尝试连接下一个上游服务器的超时时间。
NGINX HTTP Core
·
httpserverlocation
语法proxy_next_upstream_timeout time;
默认值1s
上下文http, server, location
参数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)之间的相互影响。
⚠
未设置该值可能导致默认行为,而该默认行为可能不适合您的应用需求。