nginx 代理在后端重新启动时重试

use*_*416 19 nginx proxy

Nginx 在后端重新启动时返回 502。如何让 Nginx 代理重试 N 次延迟 M 秒?有没有插件或其他东西?

dav*_*ave 8

我发现如果您指定数百个相同后端的实例,Nginx 需要大约 2 秒的时间来耗尽尝试:

    server  localhost:8080 max_fails=0;
    server  localhost:8080 max_fails=0;
    server  localhost:8080 max_fails=0;
    server  localhost:8080 max_fails=0;
Run Code Online (Sandbox Code Playgroud)

(......呃,根据需要重复!)

是的,一个可怕的混乱 - 但它确实增加了一定程度的坚韧......

更糟糕的是,您可以使用:

    server  localhost:8080 max_fails=0;     
    server  localhost:80 backup;        
Run Code Online (Sandbox Code Playgroud)

假设 Nginx 在端口 80 上运行,这将尝试在 Nginx 周围不断循环请求,直到 localhost:8080 响应。即以零秒延迟重试无限(?)次。

我现在要回到我的软垫牢房......


cor*_*ump 2

我知道的最接近的是这个项目,但我从未使用过。我知道清漆有后端检查,也许你想看一下。