Haproxy 在前端和后端有多个端口

Haproxy 在前端和后端有多个端口

我有一个任务,需要配置 haproxy,以代理多个端口上的入站流量。这是我在谷歌搜索后所做的:我很容易就弄清楚了如何在前端绑定端口,因为互联网上有很多示例。但几乎没有关于如何为此配置后端的信息。

当服务器行上只有一个端口时,我使用“:”和端口号。例如:443 或:80。但在这里我假设我应该取出端口并仅发送到服务器。不确定它是否正确???还要检查参数 - 我无法显示检查两个端口的可用性,因此选择了一个。但我确信一定有更好的方法来做到这一点。

有人可以帮忙吗?

frontend FE-VPN
    bind 10.10.90.10:500
    bind 10.10.90.10:4500
    mode tcp
    log global
    option tcplog
    option dontlognull
    option contstats
    timeout client 300s
    maxconn 10000
    default_backend BK-VPN

backend BK-VPN
    mode tcp
    log global
    option tcplog
    option tcp-check
    timeout server 300s
    timeout connect 5s
    balance leastconn
    retries 3
    server DA-VPN-01 10.10.90.21 weight 1 check port 500 source 10.10.90.10
    server DA-VPN-02 10.10.90.22 weight 1 check port 500 source 10.10.90.10

更新型多巴胺 这是迄今为止我想到的最好的办法。如果你认为它正确,请告诉我

    backend BK-VPN
    mode tcp
    log global
    option tcplog

    option tcp-check

    tcp-check connect port 500
    tcp-check expect string +OK

    tcp-check connect port 4500
    tcp-check expect string +OK

    timeout server 300s
    timeout connect 5s
    balance leastconn
    retries 3
    server DA-VPN-01 10.10.90.21 weight 1 check source 10.10.90.10
    server DA-VPN-02 10.10.90.22 weight 1 check source 10.10.90.10

答案1

看起来不错。如果您不指定端口,它将使用与前端相同的端口。因此,如果它在前端命中 10.10.90.10:500,它将转到 10.10.90.21:500 等。至于健康检查,请检查单个端口 - 或者如果您需要更复杂的操作(即多端口检查),可以使用外部健康检查脚本。

相关内容