I have a task to configure haproxy that proxies inbound traffic on multiple ports. This is what I did after some googling: I easily figured out how to bund tho ports on frontend as the internet is full of examples. But almost no information about how to configure backends for this.
When its just one port on server line I used ":" and port number. as :443 or :80. But here I assumed thet I should take out port and send just to server. Not sure if its correct??? Also check parameter - I could not show to check both ports availability so picked one. But I'm sure there must be a better way of doing this.
Can Anyone help?
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
UPD This is the best thing I came up with so far. Please tell me if you think it's correct
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