Comunicação WebSocket entre VDA e Delivery Controller™
Este artigo descreve como configurar uma conexão WebSocket para comunicação entre VDAs e Delivery Controllers como uma alternativa ao uso da comunicação WCF. Ele oferece o benefício de que apenas a porta TLS 443 é usada para comunicação do VDA para o Delivery Controller.
Como funciona
As seções a seguir descrevem o fluxo de trabalho para a conexão WebSocket entre um Delivery Controller e um VDA:
Durante a operação normal de intermediação
- Os administradores do Citrix Virtual Apps and Desktops™ iniciam o processo provisionando VDAs usando o Machine Creation Service (MCS).
- Durante o processo de provisionamento do MCS, o MCS gera pares de chaves pública-privada para cada VDA e registra as chaves públicas com o serviço de confiança FMA no Delivery Controller. O MCS salva o par de chaves pública-privada como um arquivo no disco de identidade nos VDAs.
- Quando a máquina VDA inicializa, o agente MCS instalado na máquina VDA lê o par de chaves do disco de identidade e grava essas informações no local do registro do VDA.
- O agente broker instalado no VDA lê os pares de chaves do registro e gera uma solicitação WebSocket habilitada para SSL para o Delivery Controller com a chave de serviço assinada pela chave privada.
- O Delivery Controller verifica o cabeçalho de autorização da chave de serviço assinada com a chave pública do serviço de confiança FMA.
- Após a conclusão da verificação, o sistema estabelece a conexão WebSocket entre o VDA e o Delivery Controller.
Quando o modo LHC se torna ativo
Se você habilitar o suporte a Websocket para LHC, então, durante o modo LHC, quando um VDA tenta estabelecer uma conexão Websocket com o Serviço de Alta Disponibilidade, o Serviço de Alta Disponibilidade verifica o cabeçalho de autorização da chave de serviço assinada com a chave pública do banco de dados local. Isso autentica a conexão Websocket e a conexão WebSocket entre o VDA e o Delivery Controller é bem-sucedida mesmo no modo LHC.
Suporte a WebSocket
Antes de começar
- Configure seu site. Para obter mais informações, consulte Criar um site.
- Instale certificados TLS nos Delivery Controllers. Para obter mais informações, consulte Instalar certificados de servidor TLS nos Controllers.
- Instale a CA raiz e a CA intermediária no VDA para confiar no Delivery Controller.
Procedimento
Siga as instruções para configurar uma conexão WebSocket:
-
Habilite a conexão WebSocket no Delivery Controller. Execute o seguinte comando em cada Delivery Controller presente em seu site:
New-ItemProperty "HKLM:\SOFTWARE\Citrix\DesktopServer\WorkerProxy" -Name "WebSocket_Enabled" -PropertyType "DWord" -Value 1 -Force - Reinicie o Serviço Broker após habilitar o WebSocket.
-
Habilite o suporte a websocket para o modo LHC. Execute o seguinte comando em cada Delivery Controller presente em seu site:
New-ItemProperty "HKLM:\SOFTWARE\Citrix\DesktopServer\LHC" -Name "WebSocketEnabledLhc" -PropertyType "DWord" -Value 1 -Force <!--NeedCopy--> - Crie um catálogo de máquinas para VDAs unidos ao AD com provisionamento MCS. Para obter mais informações, consulte Criar catálogo de máquinas.
- Crie um grupo de entrega e adicione seu VDA a ele. Para obter mais informações, consulte Criar grupos de entrega.
-
Habilite a conexão WebSocket no VDA. Execute o seguinte comando PowerShell no VDA:
New-ItemProperty "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CitrixBrokerAgent\WebSocket" -Name "Enabled" -PropertyType "DWord" -Value 1 -Force <!--NeedCopy-->-
Para verificar se o WebSocket está habilitado, verifique o seguinte valor da chave de registro. O valor de
Enableddeve ser 1.Chave:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CitrixBrokerAgent\WebSocket <!--NeedCopy-->Nome: Enabled
Tipo: REG_DWORD
Valor: 1
-