HTTP режим балансировщика для HTML5 подключений

В конфигурации балансировщика по умолчанию для HTML5 подключений к HOSTVM VDI Tunneler используется режим TCP для сквозной передачи SSL трафика (Passthrough).

При наличии дополнительных средств фильтрации трафика перед балансировщиком нагрузки могут наблюдаться ошибки отрисовки изображения в HTML5 сессиях. В таких случаях может потребоваться настройка балансировки в режиме HTTP.

Ниже приведены примеры такой настройки в двух вариантах:

  • SSL bridging - трафик от балансировщика до конечного сервера заново шифруется;

  • SSL termination - трафик от балансировщика до конечного сервера не шифруется.

SSL Bridging

Если необходима работа балансировщика в режиме HTTP, и шифрование обязательно на всех этапах подключения, используйте настройку SSL Bridging. В этом случае балансировщик будет расшифровывать входящий трафик и заново шифровать его для отправки на конечный сервер.

Конфигурация HAProxy

Для настройки SSL Bridging необходимо внести изменения в конфигурационный файл /etc/haproxy/haproxy.cfg.

Правило внешнего доступа к HOSTVM VDI Tunneler (соединения HTML5):

frontend tunnel-in-guacamole
bind *:10443 ssl crt /path/to/certificate
mode http
option httplog
option forwardfor except 127.0.0.1
http-request set-header X-Forwarded-Proto https
default_backend tunnel-backend-guacamole

Правило внутреннего доступа к HOSTVM VDI Tunneler для соединений HTML5:

Остальные настройки остаются идентичны статье Установка и настройка балансировщика HAProxy

Конфигурация Yandex Application Load Balancer

Если в качестве балансировщика используется Yandex Application Load Balancer, необходимо в настройках группы бэкендов указать порт 10443, выбрать протокол HTTPS и включить привязку сессий, например по сессионным cookie. Режим балансировки при этом должен быть выбран MAGLEV_HASH.

Также в конфигурации маршрута роутера необходимо отметить чекбокс WebSocket.

SSL Termination

circle-exclamation

Если необходима работа балансировщика в режиме HTTP, и шифрование на этапе от балансировщика до конечного сервера не требуется, используйте настройку SSL Termination.

Действия, выполняемые на HOSTVM VDI Tunneler

Отредактируйте конфигурационный файл /etc/tomcat9/server.xml и замените блок <Connector>:

На следующий:

Перезапустите сервисы:

Теперь для HTML5 трафика на туннелере будет использоваться порт 8080, а SSL возможно терминировать на балансировщике.

Конфигурация HAProxy

Для того, чтобы HAProxy терминировал SSL, необходимо внести изменения в конфигурационный файл /etc/haproxy/haproxy.cfg.

Правило внешнего доступа к HOSTVM VDI Tunneler (соединения HTML5):

Правило внутреннего доступа к HOSTVM VDI Tunneler для соединений HTML5:

Остальные настройки остаются идентичны статье Установка и настройка балансировщика HAProxy

Конфигурация Yandex Application Load Balancer

Если в качестве балансировщика используется Yandex Application Load Balancer, необходимо в настройках группы бэкендов указать порт 8080, выбрать протокол HTTP и включить привязку сессий, например по сессионным cookie. Режим балансировки при этом должен быть выбран MAGLEV_HASH.

Также в конфигурации маршрута роутера необходимо отметить чекбокс WebSocket.

Last updated