Das Frontend bleibt weiterhin verbunden, wenn die RDP-Sitzung des Backends getrennt wird

Das Frontend bleibt weiterhin verbunden, wenn die RDP-Sitzung des Backends getrennt wird

Ich verwende HAProxy, um die Last von RDP-Verbindungen zwischen Clients und RD-Gateway-Server auszugleichen.
Hinter HAProxy befinden sich zwei RD-Gateway-Server (192.168.0.10/192.168.0.5), die Ausgleichsmethode ist ROUND_ROBINund die Sitzung wird durch gehalten SOURCE_IP.

Hier ist meine Konfiguration:

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

Es funktioniert, aber ich habe festgestellt, dass, wenn die RDP-Sitzung des Backends vom RD-Gateway getrennt wird (ich kann die getrennten Protokolle in der Ereignisanzeige sehen), die Client-Verbindung nicht unterbrochen wird. Ich kann immer nochsehender Bildschirm der VM (aber ich kann nichts tun), das bedeutet, dass die Sitzung immer noch verbunden bleibt. Warum?

Ich gehe davon aus, dass das Front-End vom Back-End Informationen zur Trennung erhalten und versuchen sollte, die Verbindung erneut herzustellen (da die Sitzung bereits vom RD-Gateway-Server getrennt wurde).

Liegt eine Fehlkonfiguration vor? Ich habe keine Ahnung zu diesem Problem, jede Hilfe ist willkommen.

Antwort1

Seltsam, der Client sollte ein Popup erhalten, in dem er aufgefordert wird, die Verbindung vom Verbindungsbroker wiederherzustellen. Ihre Timeouts sind sehr klein,Dieser Blog empfiehltTCP-Keepalive ebenfalls:

clitimeout 1h
srvtimeout 1h
option tcpka 

Ich erinnere mich vage daran, dass jemand sagte, RDS habe eine Option zum Aktivieren/Deaktivieren der Wiederverbindungsoption?

Weitere Hintergrundinformationen und eine Übersicht über die anderen Bereitstellungsoptionen finden Sie hier.RDS-Bereitstellungshandbuch.

verwandte Informationen