VDA と Delivery Controller™ 間の WebSocket 通信

最終公開日 : Nov 13, 2026
この記事では、WCF 通信の代替として、VDA と Delivery Controller 間の通信に WebSocket 接続を設定する方法について説明します。これにより、VDA から Delivery Controller への通信に TLS ポート 443 のみが使用されるという利点があります。

動作の仕組み

以下のセクションでは、Delivery Controller と VDA 間の WebSocket 接続のワークフローについて説明します。

通常のブローカー処理操作中

  1. Citrix Virtual Apps and Desktops™ 管理者は、Machine Creation Service (MCS) を使用して VDA をプロビジョニングすることでプロセスを開始します。
  2. MCS プロビジョニングプロセス中に、MCS は各 VDA の公開鍵と秘密鍵のペアを生成し、公開鍵を Delivery Controller 上の FMA 信頼サービスに登録します。MCS は、公開鍵と秘密鍵のペアを VDA の ID ディスク下のファイルとして保存します。
  3. VDA マシンが起動すると、VDA マシンにインストールされている MCS エージェントは、ID ディスクからキーペアを読み取り、この情報を VDA レジストリの場所に書き込みます。
  4. VDA にインストールされているブローカーエージェントは、レジストリからキーペアを読み取り、秘密鍵で署名されたサービスキーを使用して、SSL 対応の WebSocket リクエストを Delivery Controller に生成します。
  5. Delivery Controller は、FMA 信頼サービスからの公開鍵を使用して、署名されたサービスキー認証ヘッダーを検証します。
  6. 検証が完了すると、システムは VDA と Delivery Controller 間の WebSocket 接続を確立します。

LHCモードがアクティブになるとき

LHC の Websocket サポートを有効にすると、LHC モード中に VDA が高可用性サービスとの Websocket 接続を確立しようとしたときに、高可用性サービスはローカルデータベースからの公開鍵を使用して署名されたサービスキー認証ヘッダーを検証します。これにより Websocket 接続が認証され、LHC モードでも VDA と Delivery Controller 間の WebSocket 接続が成功します。

WebSocket のサポート

始める前に

  1. サイトを構成します。詳細については、「サイトの作成」を参照してください。
  2. Delivery Controller に TLS 証明書をインストールします。詳細については、「Controller に TLS サーバー証明書をインストールする」を参照してください。
  3. Delivery Controller を信頼するために、VDA にルート CA と中間 CA をインストールします。

手順

WebSocket 接続を設定するには、次の手順に従います。
  1. Delivery Controller で WebSocket 接続を有効にします。サイト内の各 Delivery Controller で次のコマンドを実行します。
    New-ItemProperty "HKLM:\SOFTWARE\Citrix\DesktopServer\WorkerProxy" -Name "WebSocket_Enabled" -PropertyType "DWord" -Value 1 -Force
  2. WebSocket を有効にした後、Broker Service を再起動します。
  3. LHC モードの WebSocket サポートを有効にします。サイト内の各 Delivery Controller で次のコマンドを実行します。
    New-ItemProperty "HKLM:\SOFTWARE\Citrix\DesktopServer\LHC" -Name "WebSocketEnabledLhc" -PropertyType "DWord" -Value 1 -Force
  4. MCS プロビジョニングを使用して、AD 参加済み VDA のマシンカタログを作成します。詳しくは、「マシンカタログの作成」を参照してください。
  5. デリバリーグループを作成し、VDA を追加します。詳しくは、「デリバリーグループの作成」を参照してください。
  6. VDA で WebSocket 接続を有効にします。VDA で次の PowerShell コマンドを実行します。
    New-ItemProperty "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CitrixBrokerAgent\WebSocket" -Name "Enabled" -PropertyType "DWord" -Value 1 -Force
    • WebSocket が有効になっているか確認するには、次のレジストリキーの値をチェックします。Enabled の値は 1 である必要があります。
      キー:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CitrixBrokerAgent\WebSocket
      名前: Enabled
      種類: REG_DWORD
      値: 1