Citrix Virtual Apps and Desktops

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. Isso oferece o benefício de usar apenas a porta TLS 443 para a comunicação do VDA com 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 corretagem

  1. Administradores do Citrix Virtual Apps and Desktops™ iniciam o processo provisionando VDAs usando o Machine Creation Service (MCS).
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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

  1. Configure seu site. Para obter mais informações, consulte Criar um site.
  2. Instale certificados TLS nos Delivery Controllers. Para obter mais informações, consulte Instalar certificados de servidor TLS nos Controllers.
  3. 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:

  1. 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

  2. Reinicie o Serviço Broker após habilitar o WebSocket.
  3. 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-->
    
  4. 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.
  5. Crie um grupo de entrega e adicione seu VDA a ele. Para obter mais informações, consulte Criar grupos de entrega.
  6. 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 de chave de registro. O valor de Enabled deve ser 1.

      Key:

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

      Name: Enabled

      Type: REG_DWORD

      Value: 1

Comunicação WebSocket entre VDA e Delivery Controller™