proxy_next_upstream

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

Nginx分发高级配置

二次信任 提交于 2019-12-05 22:57:55
1、proxy_next_upstream,可通过后端服务器返回的响应状态码,表示服务器死活,可以灵活控制后端机器是否加入分发列表 默认值是proxy_next_upstream error timeout; error # 和后端服务器建立连接时,或者向后端服务器发送请求时,或者从后端服务器接收响应头时,出现错误 timeout # 和后端服务器建立连接时,或者向后端服务器发送请求时,或者从后端服务器接收响应头时,出现超时 invalid_header # 后端服务器返回空响应或者非法响应头 http_500 # 后端服务器返回的响应状态码为500 http_502 # 后端服务器返回的响应状态码为502 http_503 # 后端服务器返回的响应状态码为503 http_504 # 后端服务器返回的响应状态码为504 http_404 # 后端服务器返回的响应状态码为404 off # 停止将请求发送给下一台后端服务器 2、upstream,通过max_fails、fail_timeout可以根据不同类型的系统设置不同的重试策略 upstream mainwww { server 10.16.70.205:9000 max_fails=1 fail_timeout=10s; server 10.16.70.206:9000 max_fails=1 fail_timeout