Eu sei que é muito tarde para uma resposta, mas eu tive esse problema e me deparei com essa pergunta.
Você pode usar proxy_next_upstream_tries 2;
Configurei o balanceamento de carga Nginx entre os servidores de backend.
upsteam backend {
server 127.0.0.1:8080;
server 127.0.0.1:8081;
server 127.0.0.1:8082;
server 127.0.0.1:8083;
}
server {
...
location / {
...
proxy_pass http://backend;
}
}
Um pedido incorreto chegou, o aplicativo de back-end não conseguiu lidar com isso e ele falhou. Então, o Nginx experimentou cada servidor a partir do upstream com a solicitação, eliminando todas as instâncias do aplicativo. É possível dizer ao Nginx para tentar no máximo, por exemplo, metade dos servidores do upstream antes de retornar uma resposta de erro?
Eu sei que é muito tarde para uma resposta, mas eu tive esse problema e me deparei com essa pergunta.
Você pode usar proxy_next_upstream_tries 2;
Tags nginx load-balancing