我们正在使用nginx负载平衡请求到我们的应用程序。我们发现,当请求超时(良好)时,nginx切换到其他上游服务器。但是,它对PUT和POST请求执行此操作,这可能会导致不良结果(数据存储两次)。是否可以将nginx配置为仅在超时时重试GET请求?还是有解决问题的另一种方法?
我们的配置如下:
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;
}
}