HAProxy是一款广泛应用于TCP/HTTP负载均衡器和高性能代理服务器的开源软件
以高并发、低延迟、高稳定性著称

安装软件:

apt install haproxy -y

修改配置:nano /etc/haproxy/haproxy.cfg

端口转发主备切换:
主备模式:默认走 A,A 不行了切 B。
快速感应:通过缩短检查间隔和超时时间,变相实现对“丢包”的感应(丢包会导致 TCP 握手变慢或失败)。
自动切回:当 A 连续多次检查正常后,自动切回 A。
配置参考:

global
    log /dev/log local0
    log /dev/log local1 notice
    chroot /var/lib/haproxy
    stats socket /run/haproxy/admin.sock mode 660 level admin
    stats timeout 30s
    user haproxy
    group haproxy
    daemon

defaults
    log     global
    mode    tcp             # 使用 TCP 转发模式
    option  tcplog
    option  dontlognull
    timeout connect 1s      # 连接目标服务器的超时,缩短它可以更快发现丢包严重的节点
    timeout client  10m     # 客户端保持连接时间
    timeout server  10m     # 服务端保持连接时间
    timeout check   1s      # 健康检查本身的超时,建议与 connect 一致

# 配置监控界面 (可选,可以浏览器看节点状态)
listen stats
    bind :19000
    mode http
    stats enable
    stats uri /status
    stats refresh 5s
    stats auth admin:admin123  # 账号密码

# TCP 转发配置
# --------------第1组------------
frontend port-18005-in       # frontend 唯一性
    bind :18005              # HAProxy 本地监听端口
    default_backend backend-18005  # 与backend对应

backend backend-18005       # backend 唯一性
    mode tcp
    option tcp-check        # 使用 TCP 协议进行健康检查
    
    # 策略解释:
    # check: 开启检查
    # inter 1000: 每 1 秒检查一次
    # rise 5: 连续 5 次检查成功才认为恢复 (约 10 秒恢复)
    # fall 2: 连续 2 次检查失败就切走 (约 4 秒感应)
    # backup: 标记为备用节点
    
    server server-A18005 1.1.1.1:18005 check inter 1000 rise 5 fall 2
    server server-B18005 2.2.2.2:18005 check inter 1000 rise 3 fall 2 backup

# --------------第2组------------
frontend port-18885-in       # frontend 唯一性
    bind :18885              # HAProxy 本地监听端口
    default_backend backend-18885  # 与backend对应

backend backend-18885       # backend 唯一性
    mode tcp
    option tcp-check        # 使用 TCP 协议进行健康检查
    
    # 策略解释:
    # check: 开启检查
    # inter 1000: 每 1 秒检查一次
    # rise 5: 连续 5 次检查成功才认为恢复 (约 10 秒恢复)
    # fall 2: 连续 2 次检查失败就切走 (约 4 秒感应)
    # backup: 标记为备用节点
    
    server server-A18885 3.3.3.3:18885 check inter 1000 rise 5 fall 2
    server server-B18885 4.4.4.4:18885 check inter 1000 rise 3 fall 2 backup
    
#末尾需保留一行空白行,否则会报错

检查语法:

haproxy -c -f /etc/haproxy/haproxy.cfg

如果看到 Configuration file is valid,就说明通过了!

设置开机自启并重启服务:

systemctl enable haproxy
systemctl restart haproxy
最后修改:2026 年 03 月 05 日 05 : 01 PM