haproxy는 두 서버 간의 로드 밸런싱을 수행하지 않습니다.

haproxy는 두 서버 간의 로드 밸런싱을 수행하지 않습니다.

내 백엔드 서버에 두 개의 포트가 열려 있습니다. 하나는 https 요청용이고 다른 하나는 websocket 요청용입니다. 웹소켓은 https가 아닌 http를 사용합니다. 내 haproxy 인스턴스가 클라이언트를 백엔드 서버로 직접 리디렉션하는 클라이언트 요청에 http 301 리디렉션을 보내도록 하고 싶습니다. 리디렉션 후 클라이언트는 웹소켓 연결이든 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 

관련 정보