Comunicación WebSocket entre VDA y Delivery Controller™
Este artículo describe cómo configurar una conexión WebSocket para la comunicación entre VDAs y Delivery Controllers como alternativa al uso de la comunicación WCF. Ofrece la ventaja de que la comunicación del VDA al Delivery Controller solo requiere el puerto TLS 443.
Cómo funciona
Las siguientes secciones describen el flujo de trabajo para la conexión WebSocket entre un Delivery Controller y un VDA:
Durante la operación normal de intermediación
- Los administradores de Citrix Virtual Apps and Desktops™ inician el proceso aprovisionando VDAs mediante el Servicio de creación de máquinas (MCS).
- Durante el proceso de aprovisionamiento de MCS, MCS genera pares de claves pública-privada para cada VDA y registra las claves públicas con el servicio de confianza FMA en el Delivery Controller. MCS guarda el par de claves pública-privada como un archivo en el disco de identidad de los VDAs.
- Cuando la máquina VDA se inicia, el agente de MCS instalado en la máquina VDA lee el par de claves del disco de identidad y escribe esta información en la ubicación del registro del VDA.
- El agente de intermediación instalado en el VDA lee los pares de claves del registro y genera una solicitud WebSocket habilitada para SSL al Delivery Controller con la clave de servicio firmada por la clave privada.
- El Delivery Controller verifica el encabezado de autorización de la clave de servicio firmada con la clave pública del servicio de confianza FMA.
- Una vez completada la verificación, el sistema establece la conexión WebSocket entre el VDA y el Delivery Controller.
Cuando el modo LHC se activa
Si habilita la compatibilidad con Websocket para LHC, entonces, durante el modo LHC, cuando un VDA intenta establecer una conexión Websocket con el Servicio de alta disponibilidad, el Servicio de alta disponibilidad verifica el encabezado de autorización de la clave de servicio firmada con la clave pública de la base de datos local. Esto autentica la conexión Websocket y la conexión WebSocket entre el VDA y el Delivery Controller se realiza correctamente incluso en modo LHC.
Compatibilidad con WebSocket
Antes de empezar
- Configure su sitio. Para obtener más información, consulte Crear un sitio.
- Instale certificados TLS en los Delivery Controllers. Para obtener más información, consulte Instalar certificados de servidor TLS en Controllers.
- Instale la CA raíz y la CA intermedia en el VDA para confiar en el Delivery Controller.
Procedimiento
Siga las instrucciones para configurar una conexión WebSocket:
-
Habilite la conexión WebSocket en el Delivery Controller. Ejecute el siguiente comando en cada Delivery Controller presente en su sitio:
New-ItemProperty "HKLM:\SOFTWARE\Citrix\DesktopServer\WorkerProxy" -Name "WebSocket_Enabled" -PropertyType "DWord" -Value 1 -Force - Reinicie el servicio Broker después de habilitar WebSocket.
-
Habilite la compatibilidad con WebSocket para el modo LHC. Ejecute el siguiente comando en cada Delivery Controller presente en su sitio:
New-ItemProperty "HKLM:\SOFTWARE\Citrix\DesktopServer\LHC" -Name "WebSocketEnabledLhc" -PropertyType "DWord" -Value 1 -Force <!--NeedCopy--> - Cree un catálogo de máquinas para VDA unidos a AD con aprovisionamiento MCS. Para obtener más información, consulte Crear un catálogo de máquinas.
- Cree un grupo de entrega y añada su VDA a él. Para obtener más información, consulte Crear grupos de entrega.
-
Habilite la conexión WebSocket en el VDA. Ejecute el siguiente comando de PowerShell en el VDA:
New-ItemProperty "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CitrixBrokerAgent\WebSocket" -Name "Enabled" -PropertyType "DWord" -Value 1 -Force <!--NeedCopy-->-
Para comprobar si WebSocket está habilitado, compruebe el siguiente valor de clave del Registro. El valor de
Enableddebe ser 1.Clave:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CitrixBrokerAgent\WebSocket <!--NeedCopy-->Nombre: Enabled
Tipo: REG_DWORD
Valor: 1
-