Install

  • sudo apt install haproxy

Config

  • sudo nano /etc/haproxy/haproxy.cfg
...
# Web
frontend web
    bind *:80
    mode http
    default_backend be1
    #acl url_be1 path_beg /be1
    #acl url_be2 path_beg /be2
    #use_backend be1 if url_be1
    #use_backend be2 if url_be2

# BackEnd
backend be1
    server server1 backend1:port

backend be2
    server server1 backend2:port


# MQTT
listen mqtt
    bind *:1883
    mode tcp
    #maxconn 50000
    #option clitcpka # For TCP keep-alive
    #timeout client 3h #By default TCP keep-alive interval is 2hours in OS kernal, 'cat /proc/sys/net/ipv4/tcp_keepalive_time'
    #timeout server 3h #By default TCP keep-alive interval is 2hours in OS kernal
    server mqtt1 mqttserver:1883 check inter 10000 fall 2 rise 5 weight 1

Reference

https://topic.alibabacloud.com/tc/a/haproxy-three-different-types-of-configuration-options_8_8_31198475.html
https://www.readfog.com/a/1631183130227478528