传输层安全性 (TLS)

Last published : Nov 13, 2026
Citrix Virtual Apps and Desktops 支持用于组件之间基于 TCP 的连接的传输层安全性 (TLS) 协议。Citrix Virtual Apps and Desktops 还支持使用 自适应传输 的基于 UDP 的 ICA/HDX 连接的数据报传输层安全性 (DTLS) 协议。
TLS 和 DTLS 相似,并且支持相同的数字证书。将 Citrix Virtual Apps 或 Citrix Virtual Desktops™ 站点配置为使用 TLS 也会将其配置为使用 DTLS。请使用以下过程;除非另有说明,否则这些步骤对 TLS 和 DTLS 均适用:
  • 在所有交付控制器上获取、安装和注册服务器证书,并使用 TLS 证书配置端口。有关详细信息,请参阅 在 Controller 上安装 TLS 服务器证书。
    您可以选择更改控制器用于侦听 HTTP 和 HTTPS 流量的端口。
  • 通过完成以下任务,在 Citrix Workspace™ 应用和 Virtual Delivery Agents (VDA) 之间启用 TLS 连接:
    • 在安装了 VDA 的计算机上配置 TLS。(为方便起见,下文将安装了 VDA 的计算机简称为“VDA”。)有关常规信息,请参阅 VDA 上的 TLS 设置。强烈建议您使用 Citrix 提供的 PowerShell 脚本来配置 TLS/DTLS。有关详细信息,请参阅 使用 PowerShell 脚本在 VDA 上配置 TLS。但是,如果您想手动配置 TLS/DTLS,请参阅 手动在 VDA 上配置 TLS。
    • 通过在 Studio 中运行一组 PowerShell cmdlet,在包含 VDA 的 Delivery Groups 中配置 TLS。有关详细信息,请参阅 在 Delivery Groups 上配置 TLS。
      要求和注意事项:
      • 在用户和 VDA 之间启用 TLS 连接仅适用于 XenApp 7.6 和 XenDesktop 7.6 站点以及更高版本支持的发行版。
      • 在安装组件、创建站点、创建计算机目录和创建 Delivery Groups 后,在 Delivery Groups 和 VDA 上配置 TLS。
      • 要在交付组中配置 TLS,您必须拥有更改控制器访问规则的权限。完全管理员拥有此权限。
      • 要在 VDA 上配置 TLS,您必须是安装了 VDA 的计算机上的 Windows 管理员。
      • 在由 Machine Creation Services™ 或 Provisioning Services 预配的池化 VDA 上,VDA 计算机映像会在重新启动时重置,导致以前的 TLS 设置丢失。每次 VDA 重新启动时运行 PowerShell 脚本以重新配置 TLS 设置。
警告:
对于涉及操作 Windows 注册表的任务——错误编辑注册表可能会导致严重问题,可能需要重新安装操作系统。Citrix® 无法保证可以解决因不正确使用注册表编辑器而导致的问题。请自行承担使用注册表编辑器的风险。在编辑注册表之前,请务必备份注册表。
有关为站点数据库启用 TLS 的信息,请参阅 CTX137556。

在控制器上安装 TLS 服务器证书

对于 HTTPS,XML 服务通过使用服务器证书(而非客户端证书)支持 TLS 功能。本节介绍如何在 Delivery Controller 中获取和安装 TLS 证书。相同的步骤也可应用于 Cloud Connector,以加密 STA 和 XML 流量。
尽管有各种不同类型的证书颁发机构以及从它们请求证书的方法,但本文介绍的是 Microsoft 证书颁发机构。Microsoft 证书颁发机构需要发布一个证书模板,其用途为服务器身份验证。
如果 Microsoft 证书颁发机构已集成到 Active Directory 域或 Delivery Controller 所加入的受信任林中,则可以从“证书”MMC 管理单元的“证书注册向导”中获取证书。

请求和安装证书

  1. 在 Delivery Controller™ 上,打开 MMC 控制台并添加“证书”管理单元。出现提示时,选择“计算机帐户”。
  2. 展开 “个人”>“证书”,然后使用 “所有任务”>“请求新证书” 上下文菜单命令。
    MMC 证书管理单元(/en-us/citrix-virtual-apps-desktops/2402-ltsr/media/tls-mmc-certificates.png)
  3. 单击 “下一步” 开始,然后再次单击 “下一步” 确认您正在从 Active Directory 注册中获取证书。
  4. 选择用于服务器身份验证证书的模板。如果模板已设置为自动提供“主题”的值,则无需提供更多详细信息即可单击 “注册”。
    请求证书对话框(/en-us/citrix-virtual-apps-desktops/2402-ltsr/media/tls-request-certificates.png)
  5. 要为证书模板提供更多详细信息,请单击 “详细信息” 箭头按钮并配置以下内容:
    主题名称:选择“公用名”并添加 Delivery Controller 的 FQDN。
    备用名称:选择“DNS”并添加 Delivery Controller 的 FQDN。
    证书属性(/en-us/citrix-virtual-apps-desktops/2402-ltsr/media/tls-certificate-properties.png)

配置 SSL/TLS 侦听器端口

  1. 以计算机管理员身份打开 PowerShell 命令窗口。
  2. 运行以下命令以获取 Broker Service 应用程序 GUID:
    New-PSDrive -Name HKCR -PSProvider Registry -Root HKEY_CLASSES_ROOT

    $Service_Guid = Get-ChildItem HKCR:\Installer\Products -Recurse -Ea 0 | Where-Object { $key = $_; $_.GetValueNames() | ForEach-Object { $key.GetValue($_) } | Where-Object { $_ -like 'Citrix Broker Service' } } | Select-Object Name

    $Service_Guid.Name -match "[A-Z0-9]*$"

    $Guid = $Matches[0]

    [GUID]$Formatted_Guid = $Guid

    Remove-PSDrive -Name HKCR

    Write-Host "Broker Service Application GUID: $($Formatted_Guid)" -ForegroundColor Yellow
  3. 在同一 PowerShell 窗口中运行以下命令以获取之前安装的证书的指纹:
    $HostName = ([System.Net.Dns]::GetHostByName(($env:computerName))).Hostname

    $Thumbprint = (Get-ChildItem -Path Cert:\LocalMachine\My | Where-Object {$_.Subject -match ("CN=" + $HostName)}).Thumbprint -join ';'

    Write-Host -Object "Certificate Thumbprint for $($HostName): $($Thumbprint)" -Foreground Yellow
  4. 在同一 PowerShell 窗口中运行以下命令以配置 Broker Service SSL/TLS 端口并使用证书进行加密:
    $IPV4_Address = Test-Connection -ComputerName $HostName -Count 1  | Select-Object -ExpandProperty IPV4Address

    $IPPort = "$($IPV4_Address):443"

    $SSLxml = "http add sslcert ipport=$IPPort certhash=$Thumbprint appid={$Formatted_Guid}"

    $SSLxml | netsh

    . netsh http show sslcert
正确配置后,最后一个命令 .netsh http show sslcert 的输出将显示侦听器正在使用正确的 IP:port,并且 Application ID 与 Broker Service 应用程序 GUID 匹配。
如果服务器信任安装在 Delivery Controller 上的证书,您现在可以将 StoreFront™ Delivery Controller 和 Citrix Gateway STA 绑定配置为使用 HTTPS 而非 HTTP。
注意:
如果 Controller 安装在 Windows Server 2016 上,并且 StoreFront 安装在 Windows Server 2012 R2 上,则需要在 Controller 上进行配置更改,以更改 TLS 密码套件的顺序。对于 Controller 和 StoreFront 与其他 Windows Server 版本组合,则不需要此配置更改。
密码套件顺序列表必须包含 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 或 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 密码套件(或两者);并且这些密码套件必须位于任何 TLS_DHE_ 密码套件之前。
  1. 使用 Microsoft 组策略编辑器,导航到 计算机配置 > 管理模板 > 网络 > SSL 配置设置。
  2. 编辑策略“SSL 密码套件顺序”。默认情况下,此策略设置为“未配置”。将此策略设置为“已启用”。
  3. 按正确顺序排列套件;删除任何您不想使用的密码套件。
确保 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 或 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 位于任何 TLS_DHE_ 密码套件之前。
在 Microsoft MSDN 上,另请参阅 优先处理 Schannel 密码套件。

更改 HTTP 或 HTTPS 端口

默认情况下,Controller 上的 XML Service 侦听端口 80 用于 HTTP 流量,侦听端口 443 用于 HTTPS 流量。尽管您可以使用非默认端口,但请注意将 Controller 暴露给不受信任网络的安全风险。部署独立的 StoreFront 服务器优于更改默认设置。
要更改 Controller 使用的默认 HTTP 或 HTTPS 端口,请从 Studio 运行以下命令:
BrokerService.exe -WIPORT \<http-port> -WISSLPORT \<https-port>
其中 <http-port> 是 HTTP 流量的端口号,<https-port> 是 HTTPS 流量的端口号。
注意:
更改端口后,Studio 可能会显示有关许可证兼容性和升级的消息。要解决此问题,请使用以下 PowerShell cmdlet 序列重新注册服务实例:
Get-ConfigRegisteredServiceInstance -ServiceType Broker -Binding XML_HTTPS |
Unregister-ConfigRegisteredServiceInstance
Get-BrokerServiceInstance | where Binding -eq "XML_HTTPS" |
Register-ConfigServiceInstance

仅强制执行 HTTPS 流量

如果您希望 XML Service 忽略 HTTP 流量,请在 Controller 上的 HKLM\Software\Citrix\DesktopServer\ 中创建以下注册表设置,然后重新启动 Broker Service。
要忽略 HTTP 流量,请创建 DWORD XmlServicesEnableNonSsl 并将其设置为 0。
您可以创建相应的注册表 DWORD 值来忽略 HTTPS 流量:DWORD XmlServicesEnableSsl。请确保其未设置为 0。

VDA 上的 TLS 设置

交付组不能混合包含已配置 TLS 的 VDA 和未配置 TLS 的 VDA。在为交付组配置 TLS 之前,请确保已为该交付组中的所有 VDA 配置 TLS。
在 VDA 上配置 TLS 时,已安装 TLS 证书的权限会发生更改,从而授予 ICA® Service 对证书私钥的读取访问权限,并通知 ICA Service 以下信息:
  • 要用于 TLS 的证书存储中的哪个证书。
  • 要用于 TLS 连接的 TCP 端口号。
    Windows 防火墙(如果已启用)必须配置为允许在此 TCP 端口上进行入站连接。使用 PowerShell 脚本时,此配置会自动完成。
  • 允许使用哪些版本的 TLS 协议。
    重要提示:
    Citrix 建议您审查 SSLv3 的使用情况,并在适当的情况下重新配置这些部署以删除对 SSLv3 的支持。请参阅 CTX200238。
    支持的 TLS 协议版本遵循以下层次结构(从低到高):SSL 3.0、TLS 1.0、TLS 1.1、TLS 1.2 和 TLS 1.3。指定允许的最低版本;使用该版本或更高版本的所有协议连接都将被允许。
    例如,如果您将 TLS 1.1 指定为最低版本,则允许 TLS 1.1 和 TLS 1.3 协议连接。如果您将 SSL 3.0 指定为最低版本,则允许所有受支持版本的连接。如果您将 TLS 1.3 指定为最低版本,则只允许 TLS 1.3 连接。
    DTLS 1.0 对应于 TLS 1.1,DTLS 1.3 对应于 TLS 1.3。
  • 允许哪些 TLS 密码套件。
    密码套件选择用于连接的加密方式。客户端和 VDA 可以支持不同的密码套件集。当客户端(Citrix Workspace 应用程序或 StoreFront)连接并发送支持的 TLS 密码套件列表时,VDA 会将客户端的某个密码套件与其自身配置的密码套件列表中的某个密码套件进行匹配,并接受连接。如果没有匹配的密码套件,VDA 将拒绝连接。
    VDA 支持三组密码套件(也称为合规模式):GOV(政府)、COM(商业)和 ALL。可接受的密码套件还取决于 Windows FIPS 模式;有关 Windows FIPS 模式的信息,请参阅 <http://support.microsoft.com/kb/811833>。下表列出了每组中的密码套件:
TLS/DTLS 密码套件 ALL COM GOV ALL COM GOV
FIPS 模式 关闭 关闭 关闭 开 开 开
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384* X X X X
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 X X X X
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA X X X X
* Windows Server 2012 R2 不支持。
注意:
VDA 不支持 DHE 密码套件(例如,TLS_DHE_RSA_WITH_AES_256_GCM_SHA384、TLS_DHE_RSA_WITH_AES_256_CBC_SHA、TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 和 TLS_DHE_RSA_WITH_AES_128_CBC_SHA)。如果由 Windows 选择,Receiver 可能不会使用它们。
如果您使用的是 Citrix Gateway,请参阅 Citrix ADC 文档,了解有关后端通信的密码套件支持信息。有关 TLS 密码套件支持的信息,请参阅 Citrix ADC 设备上可用的密码。有关 DTLS 密码套件支持的信息,请参阅 DTLS 密码支持。

请求和安装证书

  1. 在 VDA 上,打开 MMC 控制台并添加“证书”管理单元。出现提示时,选择“计算机帐户”。
  2. 展开个人 > 证书,然后使用上下文菜单命令所有任务 > 申请新证书。
  3. 单击下一步开始,然后单击下一步确认您正在从 Active Directory 注册获取证书。
  4. 选择服务器身份验证证书的模板。默认的 Windows 计算机或Web 服务器可导出均可接受。如果模板已设置为自动提供主题的值,则无需提供更多详细信息即可单击注册。
    请求证书对话框
  5. 要为证书模板提供更多详细信息,请单击详细信息并配置以下内容:
    主题名称 — 选择类型公用名并添加 VDA 的 FQDN
    备用名称 — 选择类型DNS并添加 VDA 的 FQDN
    证书属性
    注意:
    使用 Active Directory 证书服务证书自动注册来自动向 VDA 颁发和部署证书。这在 <https://support.citrix.com/article/CTX205473> 中有所描述。
    您可以使用通配符证书,以允许单个证书保护多个 VDA:
    主题名称 — 选择类型 公用名 并输入 VDA 的 *.primary.domain
    备用名称 — 选择类型 DNS 并添加 VDA 的 *.primary.domain
    请求证书通配符对话框
    您可以使用 SAN 证书,以允许单个证书保护多个特定的 VDA:
    主题名称 — 选择类型 公用名 并输入一个字符串以帮助识别证书用途
    备用名称 — 选择类型 DNS 并为每个 VDA 的 FQDN 添加一个条目。将备用名称的数量保持在最低限度,以确保最佳的 TLS 协商。
    请求证书对话框
    注意:
    通配符证书和 SAN 证书都要求在“私钥”选项卡上选中 使私钥可导出:
    请求证书对话框

使用 PowerShell 脚本在 VDA 上配置 TLS

将 TLS 证书安装在证书存储的“本地计算机”>“个人”>“证书”区域中。如果该位置存在多个证书,请向 PowerShell 脚本提供证书的指纹。
注意:
从 XenApp and XenDesktop 7.16 LTSR 开始,PowerShell 脚本会根据 VDA 的 FQDN 查找正确的证书。当 VDA FQDN 只有一个证书时,您无需提供指纹。
Enable-VdaSSL.ps1 脚本用于启用或禁用 VDA 上的 TLS 侦听器。此脚本位于安装介质的 Support > Tools > SslSupport 文件夹中。
启用 TLS 时,DHE 密码套件将被禁用。ECDHE 密码套件不受影响。
启用 TLS 时,脚本会禁用指定 TCP 端口的所有现有 Windows 防火墙规则。然后,它会添加一条新规则,允许 ICA 服务仅在 TLS TCP 和 UDP 端口上接受传入连接。它还会禁用以下各项的 Windows 防火墙规则:
  • Citrix ICA(默认值:1494)
  • Citrix CGP(默认值:2598)
  • Citrix WebSocket(默认值:8008)
其效果是用户只能使用 TLS 或 DTLS 进行连接。如果没有 TLS 或 DTLS,他们将无法使用 ICA/HDX、具有会话可靠性的 ICA/HDX 或通过 WebSocket 的 HDX。
注意:
DTLS 不支持通过 UDP 实时传输的 ICA/HDX 音频,也不支持 ICA/HDX Framehawk。
请参阅 网络端口。
该脚本包含以下语法说明以及其他示例;您可以使用 Notepad++ 等工具查看此信息。
重要提示:
指定 Enable 或 Disable 参数以及 CertificateThumbPrint 参数。其他参数是可选的。

语法

Enable-VdaSSL {-Enable | -Disable} -CertificateThumbPrint "<thumbprint>" [-SSLPort <port>] [-SSLMinVersion "<min-ssl-version>"] [-SSLCipherSuite"\<suite>"]
参数 描述
启用 在 VDA 上安装并启用 TLS 侦听器。此参数或 Disable 参数是必需的。
禁用 禁用 VDA 上的 TLS 侦听器。此参数或 Enable 参数是必需的。如果指定此参数,则其他参数无效。
证书指纹 "<thumbprint>" 证书存储中 TLS 证书的指纹,用引号括起来。脚本使用指定的指纹来选择要使用的证书。如果省略此参数,则会选择不正确的证书。
SSL端口 <port> TLS 端口。默认值:443
SSL最低版本 "<version>" 最低 TLS 协议版本,用引号括起来。有效值:“TLS_1.0”(默认)、“TLS_1.1”和“TLS_1.3”。
SSL密码套件 "<suite>" TLS 密码套件,用引号括起来。有效值:“GOV”、“COM”和“ALL”(默认)。

示例

以下脚本安装并启用 TLS 协议版本值。指纹(在此示例中表示为“12345678987654321”)用于选择要使用的证书。
Enable-VdaSSL -Enable -CertificateThumbPrint "12345678987654321"
以下脚本安装并启用 TLS 侦听器,并指定 TLS 端口 400、GOV 密码套件和最低 TLS 1.2 协议值。指纹(在此示例中表示为“12345678987654321”)用于选择要使用的证书。
Enable-VdaSSL -Enable
-CertificateThumbPrint "12345678987654321"
-SSLPort 400 -SSLMinVersion "TLS_1.3"
-SSLCipherSuite "All"
以下脚本禁用 VDA 上的 TLS 侦听器。
Enable-VdaSSL -Disable

在 VDA 上手动配置 TLS

在 VDA 上手动配置 TLS 时,您需要为每个 VDA 上的相应服务授予 TLS 证书私钥的通用读取权限:对于适用于 Windows 单会话操作系统的 VDA,为 NT SERVICE\PorticaService;对于适用于 Windows 多会话操作系统的 VDA,为 NT SERVICE\TermService。在安装 VDA 的计算机上:
步骤 1。启动 Microsoft 管理控制台 (MMC):开始 > 运行 > mmc.exe。
步骤 2。将“证书”管理单元添加到 MMC:
  1. 选择“文件”>“添加/删除管理单元”。
  2. 选择“证书”,然后单击“添加”。
  3. 当系统提示“此管理单元将始终管理以下对象的证书:”时,选择“计算机帐户”,然后单击“下一步”。
  4. 当系统提示“选择此管理单元要管理的计算机”时,选择“本地计算机”,然后单击“完成”。
步骤 3。在“证书 (本地计算机)”>“个人”>“证书”下,右键单击该证书,然后选择“所有任务”>“管理私钥”。
步骤 4。 访问控制列表编辑器显示“(友好名称)私钥的权限”,其中 (FriendlyName) 是您的 TLS 证书的名称。添加以下服务之一并为其授予“读取”访问权限:
  • 对于适用于 Windows 单会话操作系统的 VDA,“PORTICASERVICE”
  • 对于适用于 Windows 多会话操作系统的 VDA,“TERMSERVICE”
步骤 5。 双击已安装的 TLS 证书。在证书对话框中,选择“详细信息”选项卡,然后滚动到底部。单击“指纹”。
步骤 6。 运行 regedit 并转到 HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\icawd。
  1. 编辑 SSL Thumbprint 键并将 TLS 证书指纹的值复制到此二进制值中。您可以安全地忽略“编辑二进制值”对话框中的未知项(例如“0000”和特殊字符)。
  2. 编辑 SSLEnabled 键并将 DWORD 值更改为 1。(要稍后禁用 SSL,请将 DWORD 值更改为 0。)
  3. 如果要更改默认设置(可选),请在同一注册表路径中使用以下内容:
    SSLPort DWORD – SSL 端口号。默认值:443。
    SSLMinVersion DWORD – 1 = SSL 3.0,2 = TLS 1.0,3 = TLS 1.1,4 = TLS 1.3。默认值:2 (TLS 1.0)。
    SSLCipherSuite DWORD – 1 = GOV,2 = COM,3 = ALL。默认值:3 (ALL)。
步骤 7. 如果 TLS TCP 和 UDP 端口不是默认的 443,请确保它们在 Windows 防火墙中处于打开状态。(在 Windows 防火墙中创建入站规则时,请确保其属性中已选择“允许连接”和“已启用”条目。)
步骤 8. 确保没有其他应用程序或服务(例如 IIS)正在使用 TLS TCP 端口。
步骤 9. 对于适用于 Windows 多会话操作系统的 VDA,请重新启动计算机以使更改生效。(您无需重新启动包含适用于 Windows 单会话操作系统的 VDA 的计算机。)
重要提示:
当 VDA 位于 Windows Server 2012 R2、Windows Server 2016 或 Windows 10 周年更新版或更高版本支持的发行版上时,需要执行一个额外步骤。这会影响来自适用于 Windows 的 Citrix Receiver(版本 4.6 到 4.9)、适用于 HTML5 的 Citrix Workspace 应用程序以及适用于 Chrome 的 Citrix Workspace 应用程序的连接。这也包括使用 Citrix Gateway 的连接。
如果配置了 Citrix Gateway 和 VDA 之间的 TLS,则所有使用 Citrix Gateway 的连接(适用于所有 VDA 版本)也需要此步骤。这会影响所有 Citrix Receiver™ 版本。
在 VDA(Windows Server 2012 R2、Windows Server 2016 或 Windows 10 周年更新版或更高版本)上,使用组策略编辑器,转到“计算机配置”>“策略”>“管理模板”>“网络”>“SSL 配置设置”>“SSL 密码套件顺序”。选择以下顺序:
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384_P384
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384_P256
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P384
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256
注意:
前六项还指定了椭圆曲线 P384 或 P256。确保未选择“curve25519”。FIPS 模式不会阻止使用“curve25519”。
配置此组策略设置后,VDA 仅在以下两个列表中都出现时才选择密码套件:组策略列表和所选合规模式(COM、GOV 或 ALL)的列表。密码套件还必须出现在客户端(Citrix Workspace 应用程序或 StoreFront)发送的列表中。
此组策略配置还会影响 VDA 上的其他 TLS 应用程序和服务。如果您的应用程序需要特定的密码套件,您可能需要将它们添加到此组策略列表中。
重要提示:
尽管组策略更改在应用时会显示,但 TLS 配置的组策略更改仅在操作系统重新启动后才会生效。因此,对于池化桌面,请将 TLS 配置的组策略更改应用到基础映像。

在交付组上配置 TLS

对于包含已配置为 TLS 连接的 VDA 的每个交付组,请完成此过程。
  1. 从 Studio 打开 PowerShell 控制台。
  2. 运行 asnp Citrix.* 以加载 Citrix 产品 cmdlet。
  3. 运行 Get-BrokerAccessPolicyRule -DesktopGroupName '\<delivery-group-name>' \| Set-BrokerAccessPolicyRule -HdxSslEnabled $true。
  4. 运行 Set-BrokerSite -DnsResolutionEnabled $true。

故障排除

如果发生连接错误,请检查 VDA 上的系统事件日志。
使用适用于 Windows 的 Citrix Workspace 应用程序时,如果收到指示 TLS 错误的连接错误,请禁用 Desktop Viewer,然后尝试重新连接。尽管连接仍然失败,但可能会提供有关底层 TLS 问题的解释。(例如,您在向证书颁发机构请求证书时指定了不正确的模板。)
大多数使用 HDX™ 自适应传输的配置都可以成功使用 DTLS,包括使用最新版本 Citrix Workspace 应用程序、Citrix Gateway 和 VDA 的配置。某些在 Citrix Workspace 应用程序和 Citrix Gateway 之间以及在 Citrix Gateway 和 VDA 之间使用 DTLS 的配置需要额外操作。
如果出现以下情况,则需要额外操作:
  • Citrix Receiver 版本支持 HDX 自适应传输和 DTLS:适用于 Windows 的 Receiver (4.7, 4.8, 4.9)、适用于 Mac 的 Receiver (12.5, 12.6, 12.7)、适用于 iOS 的 Receiver (7.2, 7.3.x) 或适用于 Linux 的 Receiver (13.7)
并且以下任一情况也适用:
  • Citrix Gateway 版本支持 DTLS 到 VDA,但 VDA 版本不支持 DTLS(版本 7.15 或更早版本),
  • VDA 版本支持 DTLS(版本 7.16 或更高版本),但 Citrix Gateway 版本不支持 DTLS 到 VDA。
为避免 Citrix Receiver 连接失败,请执行以下操作之一:
  • 将 Citrix Receiver 更新到适用于 Windows 的 Receiver 4.10 或更高版本、适用于 Mac 的 Receiver 12.8 或更高版本,或适用于 iOS 的 Receiver 7.5 或更高版本;或者,
  • 将 Citrix Gateway 更新到支持 DTLS 到 VDA 的版本;或者,
  • 将 VDA 更新到 7.16 或更高版本;或者,
  • 在 VDA 上禁用 DTLS;或者,
  • 禁用 HDX 自适应传输。
注意:
适用于 Receiver for Linux 的相应更新尚不可用。适用于 Android 的 Receiver(版本 3.12.3)不支持通过 Citrix Gateway 使用 HDX 自适应传输和 DTLS,因此不受影响。
要在 VDA 上禁用 DTLS,请修改 VDA 防火墙配置以禁用 UDP 端口 443。请参阅网络端口。

Controller 与 VDA 之间的通信

Windows Communication Framework (WCF) 消息级保护可确保 Controller 与 VDA 之间的通信安全。不需要使用 TLS 的额外传输级保护。WCF 配置使用 Kerberos 在 Controller 和 VDA 之间进行相互身份验证。加密使用具有 256 位密钥的 CBC 模式 AES。消息完整性使用 SHA-1。
根据 Microsoft 的说法,WCF 使用的安全性协议符合 OASIS(结构化信息标准促进组织)的标准,包括 WS-SecurityPolicy 1.2。此外,Microsoft 表示 WCF 支持安全策略 1.2中列出的所有算法套件。
Controller 与 VDA 之间的通信使用 basic256 算法套件,其算法如上所述。

TLS 与 HTML5 视频重定向以及浏览器内容重定向

您可以使用 HTML5 视频重定向和浏览器内容重定向来重定向 HTTPS 网站。注入到这些网站中的 JavaScript 必须与在 VDA 上运行的 Citrix HDX HTML5 视频重定向服务建立 TLS 连接。为此,HTML5 视频重定向服务会在 VDA 上的证书存储中生成两个自定义证书。停止服务会删除这些证书。
HTML5 视频重定向策略默认处于禁用状态。
浏览器内容重定向默认处于启用状态。
有关 HTML5 视频重定向的详细信息,请参阅多媒体策略设置。