nginx proxy_next_upstream导致的一个重复提交错误

大憨熊 提交于 2020-04-10 18:35:52

一个请求被重复提交,原因是nginx代理后面挂着2个服务器,请求超时的时候(其实已经处理了),结果nigix发现超时,有把请求转给另外台服务器又做了次处理。

配置:

proxy_next_upstream:off

后问题解决,不过也会代理另外问题,比如发布的时候部分请求会出错等。

参考:http://www.tech126.com/nginx-healthcheck/

proxy_next_upstream

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

默认值: proxy_next_upstream error timeout

上下文: http, server, location

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

  • 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.


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!