haproxy 无法在两台服务器之间实现负载平衡

haproxy 无法在两台服务器之间实现负载平衡

我的后端服务器上有两个端口打开,一个用于 https 请求,另一个用于 websocket 请求。websocket 将使用 http,而不是 https。我希望我的 haproxy 实例向客户端请求发送 http 301 重定向,该请求会将客户端直接重定向到后端服务器。重定向后,客户端应该直接与后端服务器通信,无论是 websocket 连接还是 https 连接。以下是我的配置。它可以适当地重定向流量,但它只会重定向到第一台服务器,而不会重定向到第二台服务器。为什么不使用循环来访问两台服务器?

defaults
    mode http
    timeout connect 5000ms
    timeout client 3000ms
    timeout server 3000ms
    timeout tunnel 0

frontend server-frontend
    bind LB_IP:443
    http-request redirect code 301 prefix https
    default_backend server-backend

backend server-backend
    balance roundrobin
    server s1 SERVER1_IP:8443
    server s2 SERVER2_IP:8443

frontend websocket-frontend
    bind LB_IP:80
    http-request redirect code 301 prefix http
    default_backend websocket-backend

backend websocket-backend
    balance roundrobin
    server ws1 SERVER1_IP:8080
    server ws2 SERVER2_IP:8080 

相关内容