Estamos utilizando nginx para cargar solicitudes de saldo en nuestra aplicación. Hemos encontrado que nginx cambia a un servidor ascendente diferente cuando se agota el tiempo de espera de las solicitudes (bueno). Sin embargo, hace esto para solicitudes PUT y POST que pueden causar resultados no deseados (datos almacenados dos veces). ¿Es posible configurar nginx para volver a intentar solo las solicitudes GET en el tiempo de espera? ¿O hay otra forma de resolver el problema?
Nuestra configuración es la siguiente:
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;
}
}
fuente
proxy_method
directiva de usoconsulte: http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_method
fuente
Tengo el mismo problema en mi servidor Tomcat. tiempo de espera del proxy cuando se produce una solicitud larga. Resolví mi problema usando proxy_read_timeout. cuando aumenta el tiempo de espera, entonces mi solicitud nunca expiró y no se produjo ningún problema. tiempo de espera predeterminado 60 s. referencia
fuente