Назад | Перейти на главную страницу

Фронтенд все еще остается подключенным, когда сеанс бэкэнд-RDP отключен

Я использую HAProxy для балансировки нагрузки RDP-соединений между клиентами и сервером шлюза удаленных рабочих столов.
За HAProxy стоят два сервера шлюза удаленных рабочих столов (192.168.0.10/192.168.0.5), метод балансировки ROUND_ROBIN, и придерживаться сеанса SOURCE_IP.

Вот мой конфиг:

global
    daemon
    user nobody
    group haproxy
    log /dev/log local0 debug alert
    log /dev/log local1 notice alert
    maxconn 2500
    stats socket /var/lib/neutron/lbaas/v2/7ee12684-c45d-4af4-8ae7-381743beb78e/haproxy_stats.sock mode 0666 level user

defaults
    log global
    retries 3
    option redispatch
    timeout connect 5000
    timeout client 50000
    timeout server 50000

frontend 377c24a1-1735-4947-a854-0d1fb8d0cd97
    option tcplog
    maxconn 2500
    bind 192.168.0.7:443
    mode tcp
    default_backend 51d6cead-368e-45a3-bcda-b1fb8cd5f2dd

backend 51d6cead-368e-45a3-bcda-b1fb8cd5f2dd
    mode tcp
    balance roundrobin
    stick-table type ip size 10k
    stick on src
    timeout check 5s
    server 3ccbdfa9-fa69-4388-ad1b-046731825659 192.168.0.10:443 weight 1 check inter 5s fall 3
    server 7dde5bd2-ad90-4668-9642-466446646948 192.168.0.5:443 weight 1 check inter 5s fall 3

Это работает, но я обнаружил, что когда серверный сеанс RDP отключен от шлюза удаленных рабочих столов (я могу видеть отключенные журналы из средства просмотра событий), подключение клиентов не прекращается, я все еще могу видеть экран виртуальной машины (но ничего не может сделать), это означает, что сеанс все еще подключен, почему?

Я ожидаю, что интерфейс должен получить информацию об отключении от бэкэнда и снова попытаться восстановить соединение (потому что сеанс уже отключен от сервера шлюза удаленных рабочих столов).

Есть ли неправильная конфигурация? Я понятия не имею об этой проблеме, любая помощь приветствуется.

Странно, у клиента должно появиться всплывающее окно с просьбой переподключиться от брокера соединений. Ваши таймауты очень маленькие, этот блог рекомендует tcp keepalive также:

clitimeout 1h
srvtimeout 1h
option tcpka 

Я смутно припоминаю, как кто-то говорил, что в RDS есть возможность включить / отключить параметр повторного подключения?

Для получения дополнительной справочной информации и обзора других вариантов развертывания, которые у вас есть, взгляните на этот Руководство по развертыванию RDS.