Am o instanță Windows RDS la care utilizatorii se conectează prin internet, deși am plasat un HAProxy folosind un front-end/backend TCP:
frontend front_https_rds
legați XXX.XXX.XXX.XXX:443
modul tcp
timeout client 6h
jurnal global
opțiunea tcplog
opțiunea clitcpka
default_backend backend_https_rds
backend backend_https_rds
modul tcp
server timeout 6h
echilibru roundrobin
jurnal global
opțiunea tcplog
opțiunea tcp-check
server srv-rdgateway pri.vat.e.IP:443 verifica
Este important de reținut că folosesc RD Gateway prin HTTPS (RPC peste HTTP) și nu RDP 3389 standard.
Utilizatorii se plâng de deconectări frecvente. Văd CD (clientul se deconectează în faza de date) în coloana termination_state. Din jurnalele HAProxy:
23 noiembrie 18:14:24 srv-haproxy haproxy[215010]: XXX.XXX.XXX.XXX:55674 [23/Nov/2021:18:08:48.979] față_https_rds spate_https_rds/srv-rdgateway 1/0/435916/3 20/20/19/19/0 0/0
23 noiembrie 18:14:24 srv-haproxy haproxy[215010]: XXX.XXX.XXX.XXX:55678 [23/Nov/2021:18:08:49.370] față_https_rds spate_https_rds/srv-rdgateway 1/06/12552 SD 19/19/18/18/0 0/0
23 noiembrie 18:14:35 srv-haproxy haproxy[215010]: XXX.XXX.XXX.XXX:56448 [23/Nov/2021:18:14:35.135] față_https_rds spate_https_rds/srv-rdgateway 1/0/8 SD 20/20/19/19/0 0/0
23 noiembrie 18:14:35 srv-haproxy haproxy[215010]: XXX.XXX.XXX.XXX:56451 [23/Nov/2021:18:14:35.461] față_https_rds spate_https_rds/srv-rdgateway 1/07/8 SD 21/21/20/20/0 0/0
23 noiembrie 18:14:36 srv-haproxy haproxy[215010]: XXX.XXX.XXX.XXX:56453 [23/Nov/2021:18:14:35.965] față_https_rds înapoi_https_rds/srv-rdgateway 1/07/89 21/21/20/20/0 0/0
23 noiembrie 18:16:13 srv-haproxy haproxy[215010]: XXX.XXX.XXX.XXX:56447 [23/Nov/2021:18:14:34.997] față_https_rds spate_https_rds/srv-rdgateway 1/0/431621 CD 14/14/13/13/0 0/0
23 noiembrie 18:16:13 srv-haproxy haproxy[215010]: XXX.XXX.XXX.XXX:56450 [23/Nov/2021:18:14:35.385] față_https_rds spate_https_rds/srv-rdgateway 1/0/12975 SD 13/13/12/12/0 0/0
23 noiembrie 18:16:23 srv-haproxy haproxy[215010]: XXX.XXX.XXX.XXX:56746 [23/Nov/2021:18:16:23.423] față_https_rds spate_https_rds/srv-rdgateway 1/0/86 14/14/13/13/0 0/0
23 noiembrie 18:16:23 srv-haproxy haproxy[215010]: XXX.XXX.XXX.XXX:56749 [23/Nov/2021:18:16:23.728] față_https_rds spate_https_rds/srv-rdgateway 1/0/8 SD 15/15/14/14/0 0/0
23 noiembrie 18:16:24 srv-haproxy haproxy[215010]: XXX.XXX.XXX.XXX:56751 [23/Nov/2021:18:16:24.232] față_https_rds spate_https_rds/srv-rdgateway 1/0/8 SD 15/15/14/14/0 0/0
23 noiembrie 18:16:57 srv-haproxy haproxy[215010]: XXX.XXX.XXX.XXX:56745 [23/Nov/2021:18:16:23.274] față_https_rds spate_https_rds/srv-rdgateway 1/0/23400204 14/14/13/13/0 0/0
23 noiembrie 18:16:57 srv-haproxy haproxy[215010]: XXX.XXX.XXX.XXX:56747 [23/Nov/2021:18:16:23.655] față_https_rds spate_https_rds/srv-rdgateway 1/0/12364 SD 13/13/12/12/0 0/0
23 noiembrie 18:17:07 srv-haproxy haproxy[215010]: XXX.XXX.XXX.XXX:56867 [23/Nov/2021:18:17:07.548] față_https_rds spate_https_rds/srv-rdgateway 1/07/8 SD 14/14/13/13/0 0/0
23 noiembrie 18:17:07 srv-haproxy haproxy[215010]: XXX.XXX.XXX.XXX:56870 [23/Nov/2021:18:17:07.872] față_https_rds spate_https_rds/srv-rdgateway 1/0/8 SD 15/15/14/14/0 0/0
23 noiembrie 18:17:08 srv-haproxy haproxy[215010]: XXX.XXX.XXX.XXX:56872 [23/Nov/2021:18:17:08.360] față_https_rds spate_https_rds/srv-rdgateway 1/0/8 SD 15/15/14/14/0 0/0
Presupun că ceva la client cauzează acest lucru, deși nu pot identifica nimic. Am adăugat Keepalive în interfață clientului fără nicio modificare.
Mă întreb dacă cineva s-a mai confruntat cu această problemă sau aș putea face ceva din perspectiva HAProxy pentru a depana mai multe?!
Configurația mea globală:
global
log /dev/log local0
log /dev/log local1 notificare
chroot /var/lib/haproxy
socket statistici /run/haproxy/admin.sock mod 660 nivel de administrare expose-fd ascultători
statistici timeout 30s
utilizator haproxy
haproxy de grup
demonul
# Locații implicite ale materialelor SSL
ca-base /etc/ssl/certs
crt-base /etc/ssl/private
# Cifruri implicite de utilizat pe prizele de ascultare compatibile SSL.
# Pentru mai multe informații, consultați ciphers(1SSL). Aceasta lista este de la:
# https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/
# O listă alternativă cu directive suplimentare poate fi obținută de la
# https://mozilla.github.io/server-side-tls/ssl-config-generator/?server=haproxy
ssl-default-bind-ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS
ssl-default-bind-options no-sslv3
implicite
jurnal global
modul http
opțiunea httplog
opțiunea dontlognull
timeout connect 5000
timeout client 10800000
server timeout 10800000
fişierul de erori 400 /etc/haproxy/errors/400.http
fişierul de erori 403 /etc/haproxy/errors/403.http
fişierul de erori 408 /etc/haproxy/errors/408.http
fişierul de erori 500 /etc/haproxy/errors/500.http
fişierul de erori 502 /etc/haproxy/errors/502.http
fişierul de erori 503 /etc/haproxy/errors/503.http
fişierul de erori 504 /etc/haproxy/errors/504.http