HAProxy 不应将传入请求转发到已关闭的实例

HAProxy 不应将传入请求转发到已关闭的实例

在我的场景中,我有 2 台服务器,两者都与 HAProxy 通信。当请求传入时,HAProxy 会按照循环方法拆分请求并将其发送到两台服务器。无论如何,如果我的第一个实例出现故障,此时 HAProxy 应该知道其中一台服务器已故障,并且它不应该将任何请求转发到该服务器。它应该只针对每个请求与其他服务器进行通信。

有人可以告诉我如何为上述场景配置 HAProxy 吗?

答案1

我相信本教程正是您所寻找的。该教程的标题是:在 Debian Lenny 上使用 HAProxy/Heartbeat 设置高可用性负载均衡器(具有故障转移和会话支持)

一般来说,您的 /etc/haproxy.cfg 文件将类似于以下内容:

global
        log 127.0.0.1   local0
        log 127.0.0.1   local1 notice
        user haproxy
        group haproxy

defaults
        log     global
        mode    http
        option  httplog
        option  dontlognull
        retries 3
        redispatch
        maxconn         2000
        contimeout      5000
        clitimeout      50000
        srvtimeout      50000

listen webfarm 192.168.0.99:80
       mode http
       stats enable
       stats auth someuser:somepassword
       balance roundrobin
       cookie JSESSIONID prefix
       option httpclose
       option forwardfor
       option httpchk HEAD /check.txt HTTP/1.0
       server webA 192.168.0.102:80 cookie A check
       server webB 192.168.0.103:80 cookie B check

您需要重新配置此文件并将前端 webfarm IP 地址更改为您的地址。此外,您还需要将服务器线路重新指向内部后端服务器的 IP 地址。

相关内容