管理安全密钥

Last published : Nov 13, 2026
重要提示:
  • 您必须将此功能与 StoreFront™ 1912 LTSR CU2 或更高版本结合使用。
  • Secure XML 功能仅在 Citrix ADC 和 Citrix Gateway 12.1 及更高版本上受支持。
注意:
您可以使用两个管理控制台管理您的 Citrix Virtual Apps and Desktops™ 部署:Web Studio(基于 Web)和 Citrix Studio(基于 Windows)。本文仅介绍 Web Studio。有关 Citrix Studio 的信息,请参阅 Citrix Virtual Apps and Desktops 7 2212 或更早版本中的等效文章。
此功能允许您仅授权经批准的 StoreFront 和 Citrix Gateway 计算机与 Delivery Controller 通信。启用此功能后,不包含密钥的任何请求都将被阻止。使用此功能可增加一层额外的安全性,以防范源自内部网络的攻击。
使用此功能的通用工作流程如下:
  1. 启用 Web Studio 以显示功能设置。
  2. 配置站点的设置。
  3. 配置 StoreFront 的设置。
  4. 配置 Citrix ADC 的设置。

配置站点的设置

您可以使用 Web Studio 或 PowerShell 为您的站点配置安全密钥设置。

使用 Web Studio

  1. 登录 Web Studio,在左侧窗格中选择设置。
  2. 找到 Manage security key 磁贴,然后单击 Edit。将显示 Manage Security Key 页面。
    管理安全密钥向导
  3. 单击刷新图标以生成密钥。
    重要提示:
    • 有两个可用的密钥。您可以对通过 XML 和 STA 端口进行的通信使用相同密钥或不同密钥。我们建议您一次只使用一个密钥。未使用的密钥仅用于密钥轮换。
    • 请勿单击刷新图标来更新已在使用的密钥。否则,服务将中断。
  4. 选择通信需要密钥的位置:
    • 要求通过 XML 端口进行通信时使用密钥(仅限 StoreFront)。如果选中此选项,则要求使用密钥对通过 XML 端口进行的通信进行身份验证。StoreFront 通过此端口与 Citrix Cloud 通信。有关更改 XML 端口的信息,请参阅知识中心文章 CTX127945。
    • 要求通过 STA 端口进行通信时使用密钥。如果选中此选项,则要求使用密钥对通过 STA 端口进行的通信进行身份验证。Citrix Gateway 和 StoreFront 通过此端口与 Citrix Cloud 通信。有关更改 STA 端口的信息,请参阅知识中心文章 CTX101988。
  5. 单击 Save 以应用更改并关闭窗口。

使用 PowerShell

以下是与 Web Studio 操作等效的 PowerShell 步骤。
  1. 运行 Citrix Virtual Apps and Desktops 远程 PowerShell 开发工具包。
  2. 在命令窗口中,运行以下命令:
    • Add-PSSnapIn Citrix*
  3. 运行以下命令以生成密钥并设置 Key1:
    • New-BrokerXmlServiceKey
    • Set-BrokerSite -XmlServiceKey1 <the key you generated>
  4. 运行以下命令以生成密钥并设置 Key2:
    • New-BrokerXmlServiceKey
    • Set-BrokerSite -XmlServiceKey2 <the key you generated>
  5. 运行以下一个或两个命令以启用密钥用于身份验证通信:
    • 要通过 XML 端口验证通信:
      • Set-BrokerSite -RequireXmlServiceKeyForNFuse $true
    • 要通过 STA 端口验证通信:
      • Set-BrokerSite -RequireXmlServiceKeyForSta $true
有关指导和语法,请参阅 PowerShell 命令帮助。

配置 StoreFront 的设置

完成站点的配置后,您需要使用 PowerShell 为 StoreFront 配置相关设置。
在 StoreFront 服务器上,运行以下 PowerShell 命令:
要配置用于通过 XML 端口进行通信的密钥,请使用命令。例如:
$store = Get-STFStoreService -VirtualPath [Path to store]
$farm = Get-STFStoreFarm -StoreService $store -FarmName [Resource feed name]
Set-STFStoreFarm -Farm $farm -XMLValidationEnabled $true -XMLValidationSecret [secret]
为以下参数输入相应的值:
  • Path to store
  • Resource feed name
  • secret
要配置通过 STA 端口进行通信的密钥,请使用 New-STFSecureTicketAuthority 和 Set-STFRoamingGateway 命令。例如:
$gateway = Get-STFRoamingGateway -Name [Gateway name]
$sta1 = New-STFSecureTicketAuthority -StaUrl [STA1 URL] -StaValidationEnabled $true -StaValidationSecret [secret]
$sta2 = New-STFSecureTicketAuthority -StaUrl [STA2 URL] -StaValidationEnabled $true -StaValidationSecret [secret]
Set-STFRoamingGateway -Gateway $gateway -SecureTicketAuthorityObjs $sta1,$sta2
为以下参数输入相应的值:
  • Gateway name
  • STA URL
  • Secret
有关指导和语法,请参阅 PowerShell 命令帮助。

配置 Citrix ADC 的设置

注意:
除非您使用 Citrix ADC 作为网关,否则无需为 Citrix ADC 配置此功能。如果您使用 Citrix ADC,请按照以下步骤操作:
  1. 确保已完成以下先决条件配置:
    • 已配置以下 Citrix ADC 相关 IP 地址。
      • 用于访问 Citrix ADC 控制台的 Citrix ADC 管理 IP (NSIP) 地址。有关详细信息,请参阅 配置 NSIP 地址。
      ADC 管理 IP 地址
      • 子网 IP (SNIP) 地址,用于启用 Citrix ADC 设备与后端服务器之间的通信。有关详细信息,请参阅 配置子网 IP 地址。
      • Citrix Gateway 虚拟 IP 地址和负载均衡器虚拟 IP 地址,用于登录 ADC 设备以启动会话。有关详细信息,请参阅 创建虚拟服务器。
      子网 IP 地址
    • Citrix ADC 设备中所需的模式和功能已启用。
      • 要启用这些模式,请在 Citrix ADC GUI 中转到 System > Settings > Configure Mode。
      • 要启用这些功能,请在 Citrix ADC GUI 中转到 System > Settings > Configure Basic Features。
    • 证书相关配置已完成。
      • 证书签名请求 (CSR) 已创建。有关详细信息,请参阅 创建证书。
      创建 CSR 证书 安装服务器证书安装 CA 证书
      • 已为 Citrix Virtual Desktops 创建 Citrix Gateway。通过单击测试 STA 连接按钮测试连接,以确认虚拟服务器在线。有关详细信息,请参阅(/zh-cn/citrix-adc/current-release/solutions/deploy-xa-xd.html)。
      虚拟桌面网关
  2. 添加重写操作。有关详细信息,请参阅 配置重写操作。
    1. 请转到 AppExpert > Rewrite > Actions。
    2. 单击 添加 以添加新的重写操作。您可以将操作命名为“set Type to INSERT_HTTP_HEADER”。
    添加重写操作
    1. 在 类型 中,选择 INSERT_HTTP_HEADER。
    2. 在 标头名称 中,输入 X-Citrix-XmlServiceKey。
    3. 在 表达式 中,添加 <XmlServiceKey1 value> 并带引号。您可以从您的 Desktop Delivery Controller™ 配置中复制 XmlServiceKey1 值。
    XML 服务密钥值
  3. 添加重写策略。有关详细信息,请参阅配置重写策略。
    1. 请转到 AppExpert > Rewrite > Policies。
    2. 单击 添加 以添加新策略。
    添加重写策略
    1. 在 操作 中,选择上一步中创建的操作。
    2. 在 表达式 中,添加 HTTP.REQ.IS_VALID。
    3. 单击 确定。
  4. 设置负载平衡。您必须为每个 STA 服务器配置一个负载平衡虚拟服务器。否则会话将无法启动。
    有关详细信息,请参阅设置基本负载平衡。
    1. 创建负载平衡虚拟服务器。
      • 转到 流量管理 > 负载平衡 > 服务器。
      • 在 虚拟服务器 页面中,单击 添加。
      添加负载平衡服务器
      • 在 协议 中,选择 HTTP。
      • 添加负载平衡虚拟 IP 地址,并在 端口 中选择 80。
      • 单击 确定。
    2. 创建负载平衡服务。
      • 转到 流量管理 > 负载平衡 > 服务。
      添加负载平衡服务
      • 在 现有服务器 中,选择上一步中创建的虚拟服务器。
      • 在 协议 中,选择 HTTP,并在 端口 中选择 80。
      • 单击 确定,然后单击 完成。
    3. 将服务绑定到虚拟服务器。
      • 选择之前创建的虚拟服务器,然后单击编辑。
      • 在“服务和服务组”中,单击“无负载平衡虚拟服务器服务绑定”。
      绑定服务到虚拟服务器(/en-us/citrix-virtual-apps-desktops/2402-ltsr/media/adc-bind-service-to-lbvserver.png)
      • 在服务绑定中,选择之前创建的服务。
      • 单击“绑定”。
    4. 将之前创建的重写策略绑定到虚拟服务器。
      • 选择之前创建的虚拟服务器,然后单击编辑。
      • 在“高级设置”中,单击“策略”,然后在“策略”部分单击“+”。
      绑定重写策略(/en-us/citrix-virtual-apps-desktops/2402-ltsr/media/adc-bind-rewrite-policy.png)
      • 在“选择策略”中,选择“重写”,并在“选择类型”中,选择“请求”。
      • 单击“继续”。
      • 在“选择策略”中,选择之前创建的重写策略。
      • 单击“绑定”。
      • 点击 完成。
    5. 如有必要,为虚拟服务器设置持久性。
      • 选择之前创建的虚拟服务器,然后单击编辑。
      • 在高级设置中,单击持久性。
      设置持久性
      • 选择持久性类型为其他。
      • 选择 DESTIP 以根据虚拟服务器选择的服务 IP 地址(目标 IP 地址)创建持久性会话
      • 在 IPv4 子网掩码中,添加与 DDC 相同的网络掩码。
      • 单击 确定。
    6. 对其他虚拟服务器也重复这些步骤。

如果 Citrix ADC 设备已配置 Citrix Virtual Desktops™,则进行配置更改

如果您已使用 Citrix Virtual Desktops 配置了 Citrix ADC 设备,则要使用安全 XML 功能,必须进行以下配置更改。
  • 在会话启动之前,更改网关的安全票证颁发机构 URL,以使用负载平衡虚拟服务器的 FQDN。
  • 确保 TrustRequestsSentToTheXmlServicePort 参数设置为 False。默认情况下,TrustRequestsSentToTheXmlServicePort 参数设置为 False。但是,如果客户已为 Citrix Virtual Desktops 配置了 Citrix ADC,则 TrustRequestsSentToTheXmlServicePort 设置为 True。
  1. 在 Citrix ADC GUI 中,转到配置 > 与 Citrix 产品集成,然后单击 XenApp and XenDesktop®。
  2. 选择网关实例,然后单击编辑图标。
    编辑现有网关配置
  3. 在 StoreFront 窗格中,单击编辑图标。
    编辑 StoreFront 详细信息(/en-us/citrix-virtual-apps-desktops/2402-ltsr/media/edit-storefront-details.png)
  4. 添加 安全票证颁发机构 URL。
    • 如果启用了安全 XML 功能,则 STA URL 必须是负载平衡服务的 URL。
    • 如果禁用了安全 XML 功能,则 STA URL 必须是 STA 的 URL(DDC 的地址),并且 DDC 上的 TrustRequestsSentToTheXmlServicePort 参数必须设置为 True。
    添加 STA URL(/en-us/citrix-virtual-apps-desktops/2402-ltsr/media/add-sta-urls.png)