我有一个带有三个节点的 nginx 负载均衡器,其中一个是实际的负载均衡器,我的配置如下。
upstream backend {
least_conn;
server 127.0.0.1:8090 max_fails=3 fail_timeout=30s;
server dummy_ip_1:8090 max_fails=3 fail_timeout=30s;
server dummy_ip_2:8090 max_fails=3 fail_timeout=30s;
keepalive 32;
}
server {
location / {
proxy_pass http://backend;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504 http_403 http_404 http_429;
}
}
现在,每当我尝试一个给出 404 或 503 错误代码的请求时,该请求只会由第一个接收它的节点尝试,而不会传递给第二个或第三个节点。我是不是漏掉了什么,这难道不是 proxy_next_upstream 应该做的吗?