Citrix Virtual Apps and Desktops

WebSocket-Kommunikation zwischen VDA und Delivery Controller

In diesem Artikel wird beschrieben, wie Sie eine WebSocket-Verbindung für die Kommunikation zwischen VDAs und Delivery Controllern einrichten.

Übersicht

Das WebSocket-Protokoll funktioniert über das Citrix Brokering Protocol und ermöglicht eine stabile Kommunikation zwischen Delivery Controllern und VDAs. Die Verwendung des WebSocket-Protokolls für die Kommunikation bietet die folgenden Vorteile:

  • Erfordert nur den TLS-Port 443 für die Kommunikation vom VDA zum Delivery Controller.
  • Bietet nahtlose und zuverlässige Kommunikationskanäle zwischen VDAs und Delivery Controllern.

Funktionsweise

Im folgenden Abschnitt wird der Workflow für die WebSocket-Verbindung zwischen einem Delivery Controller und einem VDA beschrieben:

  1. Administratoren von Citrix Virtual Apps and Desktops initiieren den Prozess, indem sie VDAs mithilfe des Machine Creation Service (MCS) bereitstellen.
  2. Während des MCS-Bereitstellungsprozesses generiert MCS öffentlich-private Schlüsselpaare für jeden VDA und registriert die öffentlichen Schlüssel beim FMA-Vertrauensdienst auf dem Delivery Controller. MCS speichert das öffentlich-private Schlüsselpaar als Datei unter dem Identitätsdatenträger auf den VDAs.
  3. Wenn die VDA-Maschine gestartet wird, liest der auf der VDA-Maschine installierte MCS-Agent das Schlüsselpaar vom Identitätsdatenträger und schreibt diese Informationen in den Speicherort der VDA-Registrierung.
  4. Der auf dem VDA installierte Broker Agent liest die Schlüsselpaare aus der Registrierung und generiert eine SSL-fähige WebSocket-Anforderung an den Delivery Controller, wobei der Dienstschlüssel durch den privaten Schlüssel signiert ist.
  5. Der Delivery Controller verifiziert den signierten Service Key Authorization Header mit dem öffentlichen Schlüssel des FMA Trust Service.
  6. Sobald die Überprüfung abgeschlossen ist, stellt das System die WebSocket-Verbindung zwischen dem VDA und dem Delivery Controller her.

WebSocket-Unterstützung für AD-verbundene VDAs

Voraussetzungen

  1. Konfigurieren Sie Ihre Site. Weitere Informationen finden Sie unter Site erstellen.
  2. Installieren Sie TLS-Zertifikate auf den Delivery Controllern. Weitere Informationen finden Sie unter TLS-Serverzertifikaten auf Controllern installieren.
  3. Installieren Sie die Stammzertifizierungsstelle und die Zwischenzertifizierungsstelle auf dem VDA, um dem Delivery Controller zu vertrauen.

Verfahren

Folgen Sie den Anweisungen, um eine WebSocket-Verbindung einzurichten:

  1. Aktivieren Sie die WebSocket-Verbindung auf dem Delivery Controller. Führen Sie den folgenden Befehl auf jedem Delivery Controller auf Ihrer Site aus:

    New-ItemProperty "HKLM:\SOFTWARE\Citrix\DesktopServer\WorkerProxy" -Name "WebSocket_Enabled" -PropertyType "DWord" -Value 1 -Force

    Hinweis:

    Sie müssen die Delivery Controller neu starten, nachdem Sie den WebSocket aktiviert haben.

  2. Erstellen Sie einen Maschinenkatalog für AD-verknüpfte VDAs mit MCS-Bereitstellung. Weitere Informationen finden Sie unter Erstellen des Maschinenkatalogs.
  3. Erstellen Sie eine Bereitstellungsgruppe und fügen Sie Ihren VDA hinzu. Weitere Informationen finden Sie unter Bereitstellungsgruppen erstellen.
  4. Aktivieren Sie die WebSocket-Verbindung auf dem VDA. Führen Sie den folgenden Befehl auf dem VDA aus:

    New-ItemProperty "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CitrixBrokerAgent\WebSocket" -Name "Enabled" -PropertyType "DWord" -Value 1 -Force
    <!--NeedCopy-->
    
    • Um zu überprüfen, ob der VDA über WebSocket mit dem Server verbunden ist, überprüfen Sie den folgenden Registrierungsschlüsselwert.

      Schlüssel:

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

      Name: Verbunden

      Typ: REG_DWORD

      Wert: 1 oder 0

      1: Der VDA ist über WebSocket mit dem Server verbunden.

      0: VDA kann den Server nicht über WebSocket erreichen oder WebSocket ist nicht aktiviert.

    • Um zu überprüfen, ob WebSocket aktiviert ist, überprüfen Sie den folgenden Registrierungsschlüsselwert. Der Wert von Enabled muss 1 sein.

      Schlüssel:

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

      Name: Enabled

      Typ: REG_DWORD

      Wert: 1

WebSocket-Kommunikation zwischen VDA und Delivery Controller