配置两个 StoreFront 存储以共享一个通用订阅数据存储

Last published : Nov 13, 2026
StoreFront 安装过程会在每个 StoreFront 服务器上本地安装一个 Windows 数据存储,以维护其订阅数据。在 StoreFront 服务器组环境中,每个服务器还会维护其存储使用的订阅数据的副本。此数据会传播到其他服务器,以维护整个组的用户订阅。默认情况下,StoreFront 为每个存储创建一个数据存储。每个订阅数据存储都独立于其他存储进行更新。
当需要不同的配置设置时,管理员通常会为 StoreFront 配置两个不同的存储;一个用于通过 Citrix Gateway 外部访问资源,另一个用于通过公司 LAN 内部访问。您可以通过对存储的 web.config 文件进行简单更改,将“外部”和“内部”存储配置为共享一个通用订阅数据存储。
在涉及两个存储及其相应订阅数据存储的默认场景中,用户必须订阅同一资源两次。将两个存储配置为共享一个通用订阅数据库,可以改善和简化用户从公司网络内部或外部访问同一资源时的漫游体验。使用共享订阅数据存储时,用户首次订阅新资源时使用“外部”存储还是“内部”存储都无关紧要。
  • 每个存储都有一个 web.config 文件,位于 C:\inetpub\wwwroot\citrix\<storename>。
  • 每个存储的 web.config 都包含一个用于订阅存储服务的客户端终结点。
<clientEndpoint uri="net.pipe://localhost/Citrix/Subscriptions/1__Citrix_<StoreName>" authenticationMode="windows" transferMode="Streamed">
每个存储的订阅数据位于:
C:\Windows\ServiceProfiles\NetworkService\AppData\Roaming\Citrix\SubscriptionsStore\1__Citrix_<StoreName>
要使两个存储共享一个订阅数据存储,您只需将一个存储指向另一个存储的订阅服务终结点即可。在服务器组部署的情况下,所有服务器都定义了相同的存储对,并拥有它们共享的相同共享数据存储副本。
注意:
在每个存储上配置的 Citrix Virtual Apps and Desktops 控制器必须完全匹配;否则,一个存储上的资源订阅集可能与另一个存储上的不一致。仅当两个存储位于同一 StoreFront 服务器或服务器组部署上时,才支持共享数据存储。

StoreFront 订阅数据存储终结点

  1. 在单个 StoreFront 部署上,使用记事本打开外部存储的 web.config 文件并搜索 clientEndpoint。例如:
    <subscriptionsStoreClient enabled="true">
    <clientEndpoint uri="net.pipe://localhost/Citrix/Subscriptions/1__Citrix_External" authenticationMode="windows" transferMode="Streamed">
    <clientCertificate thumbprint="0" />
    </clientEndpoint>
    </subscriptionsStoreClient>
  2. 将外部存储更改为与内部存储终结点匹配:
    <subscriptionsStoreClient enabled="true">
    <clientEndpoint uri="net.pipe://localhost/Citrix/Subscriptions/1__Citrix_Internal" authenticationMode="windows" transferMode="Streamed">
    <clientCertificate thumbprint="0" />
    </clientEndpoint>
    </subscriptionsStoreClient>
  3. 如果使用 StoreFront 服务器组,则将对主节点的 web.config 文件所做的任何更改传播到所有其他节点。
现在,两个存储都已设置为共享内部存储订阅数据存储。