VDA 与 交付控制器™ 之间的 Web 套接字 通信
本文介绍了如何设置 WebSocket 连接,用于 VDA 与 Delivery Controller 之间的通信,作为使用 WCF 通信的替代方案。它带来的好处是,VDA 到 Delivery Controller 的通信仅需使用 TLS 端口 443。
目前,这仅适用于 MCS 预配的计算机。手动预配的计算机处于技术预览阶段,请参阅 使用令牌注册非 MCS 预配的 VDA(预览版)。
工作原理
以下部分介绍了 Delivery Controller 和 VDA 之间 Web 套接字连接的工作流程:
- Citrix Virtual Apps and Desktops™ 管理员通过使用机器创建服务 (MCS) 预配虚拟投递代理 (VDA) 来启动此过程。
- 在 MCS 预配过程中,MCS 为每个 VDA 生成公钥-私钥对,并将公钥注册到 Delivery Controller 上的 FMA 信任服务。MCS 将公钥-私钥对作为文件保存在 VDA 上的身份磁盘下。
- 当 VDA 计算机启动时,安装在 VDA 计算机上的 MCS 代理从身份磁盘读取密钥对,并将此信息写入 VDA 注册表位置。
- 安装在 VDA 上的代理从注册表读取密钥对,并向 Delivery Controller 生成一个启用 SSL 的 WebSocket 请求,其中服务密钥由私钥签名。
- Delivery Controller 使用来自 FMA 信任服务的公钥验证已签名的服务密钥授权标头。
- 验证完成后,系统在虚拟投递代理 (VDA) 和交付控制器 (Delivery Controller) 之间建立 WebSocket 连接。
Web 套接字支持
开始之前
- 配置您的站点。有关详细信息,请参阅 创建站点。
- 在 Delivery Controller 上安装 TLS 证书。有关详细信息,请参阅 在 Controller 上安装 TLS 服务器证书。
- 在 VDA 上安装根 CA 和中间 CA 以信任交付控制器。
操作步骤
按照说明设置 WebSocket 连接:
-
在交付控制器上启用 WebSocket 连接。在站点中的每个交付控制器上运行以下命令:
New-ItemProperty "HKLM:\SOFTWARE\Citrix\DesktopServer\WorkerProxy" -Name "WebSocket_Enabled" -PropertyType "DWord" -Value 1 -Force注意:
确保在启用 WebSocket 后重新启动交付控制器。
- 为使用 MCS 预配的已加入 AD 的 VDA 创建计算机目录。有关详细信息,请参阅创建计算机目录。
- 创建交付组并将您的 VDA 添加到其中。有关详细信息,请参阅创建交付组。
-
请在 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。密钥:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CitrixBrokerAgent\WebSocket <!--NeedCopy-->名称:已启用
类型:注册表双字值
值:1
-