Я использую HAProxy для балансировки нагрузки RDP-подключений между клиентами и сервером RD Gateway.
За HAProxy находятся два сервера RD Gateway (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 на бэкэнде отключается от шлюза удаленных рабочих столов (я вижу журналы отключения в средстве просмотра событий), подключение клиентов не прекращается, я все еще могувидетьэкран виртуальной машины (но ничего не могу сделать), это означает, что сеанс все еще остается подключенным, почему?
Я ожидаю, что фронтенд получит информацию об отключении от бэкенда и попытается снова установить соединение (поскольку сеанс уже был отключен от сервера шлюза удаленных рабочих столов).
Есть ли какие-то ошибки в конфигурации? Я понятия не имею об этой проблеме, любая помощь будет оценена по достоинству.
решение1
Странно, клиент должен получить всплывающее окно с просьбой переподключиться от брокера подключений. Ваши тайм-ауты очень малы,этот блог рекомендуетtcp keepalive также:
clitimeout 1h
srvtimeout 1h
option tcpka
Я смутно припоминаю, что кто-то говорил, что в RDS есть возможность включить/отключить опцию повторного подключения?
Для получения дополнительной справочной информации и обзора других доступных вам вариантов развертывания ознакомьтесь с этимРуководство по развертыванию RDS.