Nginx通过反向代理做负载均衡时,如果被代理的其中一个后端服务发生错误或者超时的时候,通常希望Nginx自动重试其他的服务,从而实现服务的高可用性。
11.1 被动容错及重试机制
Nginx本身默认会有错误重试机制,可以通过proxy_next_upstream来自定义配置,官方文档如下:
11.1.1配置参数说明:
1、proxy_next_upstream error | timeout | invalid_header | http_500 | http_502 | http_503 | http_504 | http_403 | http_404 | http_429 | non_idempotent | off ...;
指定在哪种情况下将请求传递到下一个服务器:
- error 与服务器建立连接,向服务器传递请求或读取响应头时发生错误;
- timeout 与服务器建立连接,向服务器传递请求或读取响应标头时发生超时;
- invalid_header 服务器返回了空的或无