【问题标题】:NGINX Load Balancer routing to different ip if request fail如果请求失败,NGINX 负载均衡器路由到不同的 ip
【发布时间】:2017-02-02 05:50:01
【问题描述】:

我的反向代理负载均衡器有以下 nginx 配置。

upstream appserver{
    server 192.168.1.101:3800;
    server 192.168.1.102:3800;
    server 192.168.1.103:3800;
    server 192.168.1.104:3800;
}
server {
    location /api {
        proxy_pass         http://appserver;
    }
}

如果我的一个节点实例在处理请求的过程中因任何机会或错误而中断或重新启动,我的负载均衡器会将请求重定向到反向代理中的其他 ip。我不希望这种情况发生。我希望它不应该重定向并回复 500 或其他内容。

【问题讨论】:

    标签: node.js nginx load-balancing


    【解决方案1】:

    如果我正确理解您的请求,我认为您需要proxy_next_upstream off;

    http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream

    【讨论】:

    • @Failsal,按照通常的文档,如果请求已发送到上游服务器 (1.9. 13)。我使用的是 1.10.1,但 POST 方法仍然会发送到下一个上游服务器。
    • 不应该这样。访问日志说明了什么?
    • 它在从上游读取响应标头时显示上游过早关闭的连接。然后它移动到下一个上游
    • 其实我只想限制 POST 方法而不是 GET 方法。
    • 你能验证它确实是一个post请求吗?
    猜你喜欢
    • 2016-01-27
    • 1970-01-01
    • 2018-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-28
    • 2016-01-15
    • 1970-01-01
    相关资源
    最近更新 更多