Estou usando o HAProxy para balancear a carga de conexões RDP entre clientes e o servidor Gateway RD.
Existem dois servidores Gateway RD (192.168.0.10/192.168.0.5) atrás do HAProxy, o método de equilíbrio é ROUND_ROBIN
e mantém a sessão por SOURCE_IP
.
Aqui está minha configuração:
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, mas descobri que quando a sessão RDP de back-end é desconectada do Gateway RD (posso ver os logs desconectados do Visualizador de Eventos), a conexão dos clientes não para, ainda possovertela da VM (mas não consegue fazer nada), significa que a sessão ainda continua conectada, por quê?
O que espero é que o frontend obtenha informações desconectadas do backend e tente restabelecer a conexão novamente (porque a sessão já foi desconectada do servidor Gateway RD).
Existe alguma configuração incorreta? Não tenho ideia sobre esse assunto, qualquer ajuda será apreciada.
Responder1
Estranho, o cliente deve receber um pop-up solicitando a reconexão do intermediário de conexão. Seus tempos limite são muito pequenos,este blog recomendatcp keepalive também:
clitimeout 1h
srvtimeout 1h
option tcpka
Lembro-me vagamente de alguém dizendo que o RDS tinha a opção de ativar/desativar a opção de reconexão?
Para obter mais informações básicas e revisar as outras opções de implantação que você tem, dê uma olhada nesteGuia de implantação do RDS.