Haproxy führt keinen Lastenausgleich zwischen 2 Servern durch

Haproxy führt keinen Lastenausgleich zwischen 2 Servern durch

Ich habe zwei Ports auf meinen Backend-Servern geöffnet, einen für HTTPS-Anfragen und einen für WebSocket-Anfragen. Die WebSockets verwenden HTTP, nicht HTTPS. Ich möchte, dass meine Haproxy-Instanz eine HTTP-301-Umleitung an eine Client-Anfrage sendet, die den Client direkt an einen Backend-Server umleitet. Nach der Umleitung sollte der Client direkt mit dem Backend-Server kommunizieren, unabhängig davon, ob es sich um eine WebSocket- oder eine HTTPS-Verbindung handelt. Unten ist meine Konfiguration. Sie funktioniert in dem Sinne, dass sie den Datenverkehr entsprechend umleitet, aber sie leitet nur an den ersten Server um, nie an den zweiten. Warum verwendet sie nicht Round Robin, um beide Server zu erreichen?

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 

verwandte Informationen