Citrix DaaS™

VDA 与 Delivery Controller™ 之间的 WebSocket 通信

本文介绍如何设置 VDA 与 Delivery Controller 之间的 WebSocket 连接,以替代 WCF 通信。这样做的好处是,VDA 到 Delivery Controller 的通信只需使用 TLS 端口 443。

目前,这仅适用于 MCS 预配的计算机。

工作原理

以下部分介绍 Delivery Controller 与 VDA 之间的 WebSocket 连接的工作流:

  1. 管理员通过使用 Machine Creation Service (MCS) 预配 VDA 来启动此过程。
  2. 在 MCS 预配过程中,MCS 为每个 VDA 生成公钥-私钥对,并向 Delivery Controller 上的 FMA 信任服务注册公钥。MCS 将公钥-私钥对作为文件保存在 VDA 上的身份磁盘下。
  3. VDA 计算机启动时,安装在 VDA 计算机上的 MCS 代理从身份磁盘读取密钥对,并将此信息写入 VDA 注册表位置。
  4. 安装在 VDA 上的代理代理从注册表读取密钥对,并向 Delivery Controller 生成一个启用 SSL 的 WebSocket 请求,该请求带有由私钥签名的服务密钥身份验证标头。
  5. Delivery Controller 使用来自 FMA 信任服务的公钥验证签名的服务密钥身份验证标头。
  6. 验证完成后,系统在 VDA 与 Delivery Controller 之间建立 WebSocket 连接。

WebSocket 支持

过程

按照说明设置 WebSocket 连接:

  1. 创建用于已加入 AD 的 VDA 的计算机目录,并使用 MCS 预配。有关详细信息,请参阅创建计算机目录
  2. 创建交付组并将 VDA 添加到其中。有关详细信息,请参阅创建交付组
  3. 在 VDA 上启用 WebSocket 连接。在 VDA 上运行以下 PowerShell 命令:

    New-ItemProperty "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CitrixBrokerAgent\WebSocket" -Name "Enabled" -PropertyType "DWord" -Value 1 -Force
    <!--NeedCopy-->
    
    • 要检查 WebSocket 是否已启用,请检查以下注册表项值。Enabled 的值必须为 1。

      Key:

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

      名称: Enabled

      类型: REG_DWORD

      值: 1

VDA 与 Delivery Controller™ 之间的 WebSocket 通信