Linux Virtual Delivery Agent

VDA 与 Delivery Controller 之间的 WebSocket 通信

本文概述了在 VDA 与 Delivery Controller 之间建立 WebSocket 通信的步骤,作为 Windows Communication Foundation (WCF) 的替代方案。

步骤 1:在 Delivery Controller 上启用 WebSocket

  1. 配置您的站点。 有关详细信息,请参阅创建站点

  2. 在您站点上的每个 Delivery Controller 上安装 TLS 证书。 有关详细信息,请参阅在 Controller 上安装 TLS 服务器证书

  3. 使用以下命令在每个 Delivery Controller 上启用 WebSocket 通信:

      New-ItemProperty "HKLM:\SOFTWARE\Citrix\DesktopServer\WorkerProxy" -Name "WebSocket_Enabled" -PropertyType "DWord" -Value 1 -Force
    <!--NeedCopy-->
    

    注意:

    请务必在启用 WebSocket 后重新启动 Delivery Controller。

步骤 2:在 VDA 上启用 WebSocket

  1. 在 VDA 上安装根证书颁发机构和中间证书颁发机构 (CA) 以信任 Delivery Controller。

  2. 根据 VDA 创建方法为 VDA 启用 WebSocket 通信:

    • 未加入域的 VDA

      默认情况下启用 WebSocket 通信。 无需执行其他配置。

    • 使用轻松安装创建的加入了域的 VDA

      在初始运行轻松安装脚本 (ctxinstall.sh) 之前,请通过在 /opt/Citrix/VDA/sbin/ctxinstall.conf 中设置以下环境变量来启用 WebSocket。

      • **CTX_XDL_DJ_ENROLLMENT_TOKEN_FILE= ’** - 控制 WebSocket 的启用并指定 VDA 注册的令牌文件。 默认值为 **‘’**,表示禁用 WebSocket。 要在加入了域的 VDA 上启用 WebSocket,请输入令牌文件的路径。
      • **CTX_XDL_ENROLLMENT_TOOL_USING_LDAPS=’y n’** - 配置注册工具以查询 LDAP 或 LDAPS。 默认情况下,它查询 LDAP (‘n’)。 要使用 LDAPS,请将值设置为 ‘y’
    • 使用 Machine Creation Services (MCS) 创建的加入了域的 VDA

       On the template machine, open `/etc/xdl/mcs/mcs_local_setting.reg` and add a command line similar to the following for WebSocket enablement:
      
         create -k "HKLM\Software\Citrix\VirtualDesktopAgent" -t "REG_DWORD" -v "CbpTransportVersion2" -d "0x00000001" --force
       <!--NeedCopy-->
      

      This command creates or modifies the CbpTransportVersion2 registry key. By default, the value is 0 (WCF communication). To enable WebSocket communication on domain-joined VDAs, set the value to any non-zero value. After modifying the registry, restart the ctxvda service to apply the changes.

      Tip:

      在加入了域的任意 VDA 上,无论其创建方法为何,您都可以使用 CbpTransportVersion2 注册表项在 WCF 与 WebSocket 之间切换。

VDA 与 Delivery Controller 之间的 WebSocket 通信