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.

相关文章
相关标签/搜索