Linux Virtual Delivery Agent

VDAs 与 Delivery Controller 之间的 WebSocket 通信

本文概述了在 VDAs 与 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:在 VDAs 上启用 WebSocket
    
  4. 在 VDAs 上安装根证书颁发机构 (CA) 和中间证书颁发机构 (CA),以信任 Delivery Controller。

  5. 根据 VDA 创建方法启用 VDAs 的 WebSocket 通信:

    -  **未加入域的 VDA**:
    
    WebSocket 通信默认启用。无需额外配置。
    
    -  **使用简易安装创建的已加入域的 VDA**:
    
    在首次运行简易安装脚本 (ctxinstall.sh) 之前,通过在 `/opt/Citrix/VDA/sbin/ctxinstall.conf` 中设置以下环境变量来启用 WebSocket。
    
    -  \*\*CTX\_XDL\_DJ\_ENROLLMENT\_TOKEN\_FILE=\<file-path\>|'\<none\>'\*\* – 控制 WebSocket 启用并指定用于 VDA 注册的令牌文件。默认值为 \*\*'\<none\>'\*\*,表示 WebSocket 已禁用。要在已加入域的 VDA 上启用 WebSocket,请输入令牌文件的路径。
    
    -  \*\*CTX\_XDL\_ENROLLMENT\_TOOL\_USING\_LDAPS='y|n'\*\* – 配置注册工具以查询 LDAP 或 LDAPS。默认情况下,它查询 LDAP \(\*\*'n'\*\*)。要使用 LDAPS,请将值设置为 \*\*'y'\*\*。
    
    • 使用 Machine Creation Services™ (MCS) 创建的已加入域的 VDA

      在模板计算机上,打开 /etc/xdl/mcs/mcs_local_setting.reg 并添加类似于以下内容的命令行以启用 WebSocket:

       create -k "HKLM\Software\Citrix\VirtualDesktopAgent" -t "REG_DWORD" -v "CbpTransportVersion2" -d "0x00000001" --force
       <!--NeedCopy-->
      

      此命令创建或修改 CbpTransportVersion2 注册表项。默认情况下,值为 0 (WCF 通信)。要在已加入域的 VDA 上启用 WebSocket 通信,请将值设置为任何非零值。修改注册表后,重新启动 ctxvda 服务以应用更改。

      提示:

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

VDAs 与 Delivery Controller 之间的 WebSocket 通信