我有一个任务,需要配置 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 等。至于健康检查,请检查单个端口 - 或者如果您需要更复杂的操作(即多端口检查),可以使用外部健康检查脚本。