nginx 上游,检测 502 和上游重试

siv*_*ann 6 proxy http nginx

我们在“后端”应用程序前面使用 nginx 作为反向代理。有时,由于导致反向代理(nginx 或 apache)向客户端返回 502 的错误,我们应用程序上的 HTTP 服务器只是关闭了连接。

为了避免这种情况并使 nginx 重试请求,我们多次配置了相同的上游,因此 nginx 在同一服务器上 502 后重试请求,如下所示:

upstream mybackend {
    server 10.250.1.5:123 fail_timeout=2s;
    server 10.250.1.5:123 fail_timeout=2s;
    server 10.250.1.5:123 fail_timeout=2s;
...
}
Run Code Online (Sandbox Code Playgroud)

和其他地方:

proxy_pass http://mybackend/myurl;
proxy_redirect http://mybackend/myurl /myurl;
Run Code Online (Sandbox Code Playgroud)

有没有办法计算/记录 nginx 在每个请求上尝试了多少上游服务器?我需要这个来检查应用程序中的更改是否会导致任何改进。