Estamos usando o nginx para carregar solicitações de equilíbrio para nosso aplicativo. Descobrimos que o nginx alterna para um servidor upstream diferente quando as solicitações atingem o tempo limite (bom). No entanto, isso é feito para solicitações PUT e POST, que podem causar resultados indesejáveis (dados armazenados duas vezes). É possível configurar o nginx para tentar novamente apenas solicitações GET com tempo limite? Ou existe outra maneira de resolver o problema?
Nossa configuração é a seguinte:
upstream mash {
ip_hash;
server 127.0.0.1:8081;
server 192.168.0.11:8081;
}
server {
...
location / {
proxy_pass http://mash/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
fonte
proxy_method
diretiva de usoconsulte: http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_method
fonte
Eu tenho o mesmo problema no meu servidor tomcat. tempo limite do proxy quando ocorrer uma solicitação longa. eu resolvi meu problema usando proxy_read_timeout. quando aumentar o tempo limite, meu pedido nunca expirou e não ocorreu nenhum problema. tempo limite padrão 60s. referência
fonte