nginx proxy_next_upstream

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值关闭此限制。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用\[1\]和\[2\]提到了关于nginx配置中的proxy_next_upstream属性。这个属性的作用是当请求返回特定的状态码时,将请求转发到下一个upstream。例如,当请求返回500时,会转发到下一个upstream。这个属性可以在nginx.conf文件中进行配置。引用\[3\]提到了如果想让POST请求也会失败重试,可以配置non_idempotent参数。通过配置proxy_next_upstream error timeout http_500 non_idempotent,可以使得POST请求在遇到500错误时也会进行重试。 #### 引用[.reference_title] - *1* [Nginx 502问题排查 - proxy_next_upstream](https://blog.csdn.net/piaohai/article/details/102753168)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Nginx 上游返回失败处理方法 proxy_next_upstream](https://blog.csdn.net/qq_34556414/article/details/106312024)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Nginx失败重试中的HTTP协议幂等问题: non_idempotent](https://blog.csdn.net/xiao__gui/article/details/89441162)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值