El frontend aún se mantiene conectado cuando la sesión RDP del backend está desconectada

El frontend aún se mantiene conectado cuando la sesión RDP del backend está desconectada

Estoy usando HAProxy para equilibrar la carga de las conexiones RDP entre los clientes y el servidor RD Gateway.
Hay dos servidores RD Gateway (192.168.0.10/192.168.0.5) detrás de HAProxy, el método de equilibrio es ROUND_ROBINy mantiene la sesión por SOURCE_IP.

Aquí está mi configuración:

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

Funciona, pero descubrí que cuando la sesión RDP del backend se desconecta de RD Gateway (puedo ver los registros desconectados del Visor de eventos), la conexión del cliente no se detiene, todavía puedoverEn la pantalla de la VM (pero no puedo hacer nada), significa que la sesión aún sigue conectada, ¿por qué?

Lo que espero es que la interfaz obtenga información desconectada del backend e intente restablecer la conexión nuevamente (porque la sesión ya se desconectó del servidor RD Gateway).

¿Hay algún error de configuración? No tengo idea sobre este problema, se agradece cualquier ayuda.

Respuesta1

Es extraño, el cliente debería recibir una ventana emergente solicitando volver a conectarse desde el agente de conexión. Tus tiempos de espera son muy pequeños,este blog recomiendatcp keepalive también:

clitimeout 1h
srvtimeout 1h
option tcpka 

Recuerdo vagamente que alguien dijo que RDS tenía una opción para habilitar/deshabilitar la opción de reconexión.

Para obtener más información general y revisar las otras opciones de implementación que tiene, consulte estoGuía de implementación de RDS.

información relacionada