proxy_next_upstream_tries

当先前请求失败时,`proxy_next_upstream_tries` 指令控制与上游服务器通信的尝试次数。 — NGINX HTTP Core

proxy_next_upstream_tries
httpserverlocation
语法proxy_next_upstream_tries number;
默认值1
上下文http, server, location
模块NGINX HTTP Core
参数1

说明

`proxy_next_upstream_tries` 指令指定 NGINX 在返回错误之前尝试与上游服务器通信的最大次数。它通过设置在向上游服务器发出的请求由于指定的失败情况而未成功时适用的重试限制,从而实质上有助于负载均衡。这些失败情况可能包括服务器不可用、超时或其他错误。 当设置该指令时,NGINX 会尝试将请求重试到定义的上游组中的另一台服务器,最多达到该指令指定的次数。如果达到最大尝试次数,NGINX 将向客户端返回错误消息。此功能可以增强服务的可用性和弹性,尤其是在某些服务器可能暂时无响应的集群部署中。 该指令的行为受 `proxy_next_upstream` 指令的影响,后者定义了哪些失败场景应触发重试。在资源受限的环境中平衡重试次数非常重要,因为过多的重试可能会因对上游服务器造成不必要的负载而导致性能下降。

配置示例

location /api {
    proxy_pass http://backend;
    proxy_next_upstream_tries 3;
}

将该值设置为非常大的数字可能导致延迟增加和资源消耗上升。

如果没有与适当的 `proxy_next_upstream` 设置配合,重试可能不会按预期进行,原因是失败条件配置不正确。