Chúng tôi đang sử dụng nginx để tải các yêu cầu cân bằng vào ứng dụng của chúng tôi. Chúng tôi đã thấy rằng nginx chuyển sang một máy chủ ngược dòng khác khi hết thời gian yêu cầu (tốt). Tuy nhiên, nó thực hiện điều này cho các yêu cầu PUT và POST có thể gây ra kết quả không mong muốn (dữ liệu được lưu trữ hai lần). Có thể định cấu hình nginx để chỉ thử lại các yêu cầu GET khi hết thời gian không? Hoặc có một cách khác để giải quyết vấn đề?
Cấu hình của chúng tôi như sau:
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;
}
}