우리는 nginx를 사용하여 요청을 응용 프로그램에로드 밸런싱합니다. 요청 시간이 초과되면 nginx가 다른 업스트림 서버로 전환되는 것으로 나타났습니다 (양호). 그러나 이는 PUT 및 POST 요청에 대해 바람직하지 않은 결과 (데이터가 두 번 저장 됨)를 유발할 수 있습니다. 시간 초과시 GET 요청 만 다시 시도하도록 nginx를 구성 할 수 있습니까? 아니면 문제를 해결할 다른 방법이 있습니까?
우리의 구성은 다음과 같습니다.
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;
}
}