Citrix Virtual Apps and Desktops

Communication WebSocket entre VDA et Delivery Controller

Cet article explique comment configurer une connexion WebSocket pour la communication entre les VDA et les Delivery Controller.

Vue d’ensemble

Le protocole WebSocket fonctionne via Citrix Brokering Protocol et facilite une communication stable entre les Delivery Controller et les VDA. L’utilisation du protocole WebSocket pour la communication offre les avantages suivants :

  • Requiert uniquement le port TLS 443 pour la communication entre le VDA et le Delivery Controller.
  • Fournit des canaux de communication fluides et fiables entre les VDA et les Delivery Controller.

Fonctionnement

La section suivante décrit le workflow pour la connexion WebSocket entre un Delivery Controller et un VDA :

  1. Les administrateurs de Citrix Virtual Apps and Desktops lancent le processus en provisionnant des VDA à l’aide de Machine Creation Service (MCS).
  2. Au cours du processus de provisioning MCS, MCS génère des paires de clés publique-privée pour chaque VDA et enregistre les clés publiques auprès du Trust Service FMA sur le Delivery Controller. MCS enregistre la paire de clés publique-privée sous forme de fichier sous le disque d’identité sur les VDA.
  3. Lorsque la machine VDA démarre, l’agent MCS installé sur celle-ci lit la paire de clés depuis le disque d’identité et écrit ces informations dans l’emplacement de registre du VDA.
  4. L’agent broker installé sur le VDA lit les paires de clés du registre et génère une demande WebSocket compatible SSL auprès du Delivery Controller avec la clé de service signée par la clé privée.
  5. Le Delivery Controller vérifie l’en-tête d’autorisation de clé de service signé avec la clé publique du Trust Service FMA.
  6. Une fois la vérification terminée, le système établit la connexion WebSocket entre le VDA et le Delivery Controller.

Prise en charge de WebSocket pour les VDA joints à AD

Avant de commencer

  1. Configurez votre site. Pour plus d’informations, consultez la section Créer un site.
  2. Installez des certificats TLS sur les Delivery Controller. Pour plus d’informations, consultez Installer les certificats de serveur TLS sur des Controller.
  3. Installez l’autorité de certification racine et l’autorité de certification intermédiaire sur le VDA pour approuver le Delivery Controller.

Procédure

Pour configurer une connexion WebSocket, procédez comme suit :

  1. Activez la connexion WebSocket sur le Delivery Controller. Exécutez la commande suivante sur chaque Delivery Controller présent sur votre site :

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

    Remarque :

    Assurez-vous de redémarrer les Delivery Controller après avoir activé le WebSocket.

  2. Créez un catalogue de machines pour les VDA joints à AD avec le provisioning MCS. Pour de plus amples informations, consultez l’article Créer un catalogue de machines.
  3. Créez un groupe de mise à disposition et ajoutez-y votre VDA. Pour plus d’informations, consultez la section Créer des groupes de mise à disposition.
  4. Activez la connexion WebSocket sur le VDA. Exécutez la commande suivante sur le VDA :

    New-ItemProperty "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CitrixBrokerAgent\WebSocket" -Name "Enabled" -PropertyType "DWord" -Value 1 -Force
    <!--NeedCopy-->
    
    • Pour vérifier si le VDA est connecté au serveur via WebSocket, vérifiez la valeur de la clé de registre suivante.

      Clé :

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

      Nom : Connecté

      Type : REG_DWORD

      Valeur : 1 ou 0

      1 : VDA connecté au serveur à l’aide de WebSocket.

      0 : le VDA ne parvient pas à communiquer avec le serveur via WebSocket ou WebSocket n’est pas activé.

    • Pour vérifier si WebSocket est activé, vérifiez la valeur de la clé de registre suivante. La valeur de Enabled doit être 1.

      Clé :

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

      Nom : Enabled

      Type : REG_DWORD

      Valeur : 1

Communication WebSocket entre VDA et Delivery Controller