
У меня на моих внутренних серверах открыто два порта: один для запросов https и один для запросов 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