HAProxy を使用して、クライアントと RD ゲートウェイ サーバー間の RDP 接続を負荷分散しています。HAProxy
の背後には 2 つの RD ゲートウェイ サーバー (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セッションがRDゲートウェイから切断されると(イベントビューアーから切断されたログを確認できます)、クライアントの接続は停止せず、見るVM の画面(何もできない)は、セッションがまだ接続されたままであることを意味しますが、なぜでしょうか?
私が期待しているのは、フロントエンドがバックエンドから切断情報を取得し、再度接続を確立しようとすることです (セッションは既に RD ゲートウェイ サーバーから切断されているため)。
設定ミスはありますか? この問題については分かりませんが、助けていただければ幸いです。
答え1
奇妙ですね。クライアントは接続ブローカーからの再接続を求めるポップアップを受け取るはずです。タイムアウトは非常に短いです。このブログのおすすめtcp キープアライブも同様:
clitimeout 1h
srvtimeout 1h
option tcpka
RDS には再接続オプションを有効/無効にするオプションがあると誰かが言っていたのを漠然と覚えています。
より詳しい背景情報や、その他の展開オプションを確認するには、こちらをご覧ください。RDS 導入ガイド。