Citrix DaaS

VDA 和 Delivery Controller 之间的 WebSocket 通信

本文介绍如何为 VDA 和 Delivery Controller 之间的通信设置 WebSocket 连接,作为使用 WCF 通信的替代方法。 它提供的好处是,只有 TLS 端口 443 用于从 VDA 到 Delivery Controller 的通信。

目前,这仅适用于 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 上安装的 Broker Agent 从注册表中读取密钥对,并使用由私钥签名的服务密钥身份验证标头向 Delivery Controller 生成启用 SSL 的 WebSocket 请求。
  5. Delivery Controller 使用来自 FMA 信任服务的公钥验证签名服务密钥身份验证标头。
  6. 验证完成后,系统会在 VDA 和 Delivery Controller 之间建立 WebSocket 连接。

WebSocket 支持

程序

按照说明设置 WebSocket 连接:

  1. 使用 MCS 配置为已加入 AD 的 VDA 创建计算机目录。 有关更多信息,请参阅 创建计算机目录.
  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,请检查以下注册表项值。 的值 启用 必须为 1。

      钥匙:

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

      名称:已启用

      类型:REG_DWORD

      值:1

VDA 和 Delivery Controller 之间的 WebSocket 通信