proxy_next_upstream
Syntax: proxy_next_upstream error | timeout | invalid_header | http_500 | http_502 | http_503 | http_504 | http_403 | http_404 | non_idempotent | off ...;
Default: proxy_next_upstream error timeout;
Context: http, server, location
指定请求应传递到下一个服务器的情况:
-
error:在与服务器建立连接,向其传递请求或读取响应标头时发生错误;
-
timeout:在与服务器建立连接,向其传递请求或读取响应头时发生超时;
-
invalid_header:服务器返回空响应或无效响应;
-
http_500:服务器返回了带有代码500的响应;
-
http_502:服务器返回具有代码502的响应;
-
HTTP_503:服务器返回具有代码503的响应;
-
http_504:服务器返回具有代码504的响应;
-
http_403:服务器返回带有代码403的响应;
-
http_404:服务器返回具有代码404的响应;
-
non_idempotent:通常,如果请求已经被发送到上游服务器(1.9.13),则具有非幂等方法的请求(POST,LOCK,PATCH)不被传递到下一个服务器;启用此选项明确允许重试此类请求;
-
off:禁用将请求传递到下一个服务器。
应该记住,将请求传递到下一个服务器是可能的,如果还没有发送到客户端。也就是说,如果在传送响应的中间发生错误或超时,则固定不可能。
该指令还定义了与服务器通信的失败尝试。错误,超时和invalid_header的情况始终被认为是不成功的尝试,即使它们没有在指令中指定。只有在指令中指定http_500,http_502,http_503和http_504的情况下,才会被视为不成功尝试。 http_403和http_404的情况绝不会被认为是失败的尝试。
将请求传递到下一个服务器可以通过尝试次数和时间来限制。
proxy_next_upstream_timeout
Syntax: proxy_next_upstream_timeout time;
Default: proxy_next_upstream_timeout 0;
Context: http, server, location
This directive appeared in version 1.7.5.
限制请求可以传递到下一个服务器的时间。 0值关闭此限制。
proxy_next_upstream_tries
Syntax: proxy_next_upstream_tries number;
Default: proxy_next_upstream_tries 0;
Context: http, server, location
This directive appeared in version 1.7.5.
限制将请求传递到下一个服务器的可能尝试次数。 0值关闭此限制。