天天看點

proxy_next_upstream 對POST無效proxy_next_upstream 對POST無效

proxy_next_upstream 對POST無效

根據網上的教程,啟用proxy_next_upstream後發現沒有生效:

upstream login_server{
         server 10.32.105.18:8080 max_fails=1 fail_timeout=30s;
         server 10.32.80.75:8080 max_fails=1 fail_timeout=30s backup;
    }

    server {
       listen 8080;
       location /{
           proxy_pass http://login_server;
           # 重試機制,遇到這些錯誤,繼續把請求發到下一個節點
           # non_idempotent:POST支援,需要放在最前面
           proxy_next_upstream error timeout http_500 http_502 http_503 http_504 non_idemponent;
           proxy_next_upstream_tries 2;
       }
    }
           

最後,經過排查原來是隻針對

GET生效

,針對POST等請求,需要增加

non_idempotent

,并且要放在最前面才行。

來張測試圖檔:

proxy_next_upstream 對POST無效proxy_next_upstream 對POST無效

有2台伺服器,其中一台傳回了500,但是postman還是得到了相應(來自于另外一台好的伺服器)。

不得不感歎,Nginx真牛逼👍👍👍👍。

繼續閱讀