nginx proxy_next_upstream致使的一個重複提交錯誤

一個請求被重複提交,緣由是nginx代理後面掛着2個服務器,請求超時的時候(其實已經處理了),結果nigix發現超時,有把請求轉給另外臺服務器又作了次處理。 nginx

配置: 服務器

proxy_next_upstream:off spa

後問題解決,不過也會代理另外問題,好比發佈的時候部分請求會出錯等。 代理

參考:http://www.tech126.com/nginx-healthcheck/ code

proxy_next_upstream server

語法: proxy_next_upstream [error|timeout|invalid_header|http_500|http_503|http_404|off] get

默認值: proxy_next_upstream error timeout it

上下文: http, server, location io

Directive determines, in what cases the request will be transmitted to the next server: stream

  • error ― an error has occurred while connecting to the server, sending a request to it, or reading its response;
  • timeout ― occurred timeout during the connection with the server, transfer the requst or while reading response from the server;
  • invalid_header ― server returned a empty or incorrect answer;
  • http_500 ― server returned answer with code 500
  • http_503 ― server returned answer with code 503
  • http_404 ― server returned answer with code 404
  • off ― it forbids the request transfer to the next server

Transferring the request to the next server is only possible when nothing has been transferred to the client -- that is, if an error or timeout arises in the middle of the transfer of the request, then it is not possible to retry the current request on a different server.

相關文章
相關標籤/搜索