Citrix Virtual Apps and Desktops

VDAとDelivery Controller間のWebSocket通信™

この記事では、VDAとDelivery Controller間の通信用に、WCF通信を使用する代わりに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にインストールされたブローカーエージェントは、レジストリからキーペアを読み取り、秘密キーで署名されたサービスキーを使用して、Delivery ControllerへのSSLを有効にしたWebSocket要求を生成します。
  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証明書をインストールします。 詳しくは、「TLSサーバー証明書のControllerへのインストール」を参照してください。
  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
    <!--NeedCopy-->
    
  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
    <!--NeedCopy-->
    
    • WebSocketが有効になっているかどうかを確認するには、次のレジストリキーの値を確認します。 Enabledの値は1でなければなりません。

      キー:

         HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CitrixBrokerAgent\WebSocket
       <!--NeedCopy-->
      

      値の名前:Enabled

      種類:REG_DWORD

      値:1

VDAとDelivery Controller間のWebSocket通信™

この記事の概要