设计决策:设计StoreFront 和网关集成
本文的目的是深入了解 Citrix Gateway 与 StoreFront 的集成:设置的含义以及如何配置它们的设计注意事项。
网关 URL、回拨 URL 和 GSLB URL
StoreFront 允许管理员定义多个网关,这些网关可用于单个应用商店中的网关直通身份验证。此功能非常有益,因为它最大限度地减少了在大型全局部署中必须配置的应用商店的数量。我们看到,此集成要成功运行有四个关键参数:Citrix Gateway URL、虚拟服务器 IP 地址、回调 URL 和 GSLB URL,这些参数将在以下章节中进行讨论。
网关 URL
设置网关的第一个配置屏幕会提示管理员输入友好的显示名称和网关 URL(即用户输入的 URL),如下所示:
图 1:常规设置
StoreFront 仅允许从其配置中定义的网关进行网关直通。Citrix Gateway 将输入到用户的 Web 浏览器或 Workspace 应用程序 (Receiver) 客户端中输入的 URL 并将其插入到 HTTP 标头 (XCITRIXVIA) 中。此信息将传回 StoreFront。然后 StoreFront 尝试将此值与定义的网关 URL 之一匹配。“网关 URL”字段是必填字段,必须与输入到用户的 Web 浏览器或 Workspace 应用程序 (Receiver) 中的内容匹配,才能使网关直通到 StoreFront 才能
回调 URL 和虚拟服务器 IP 地址
接下来,我们将介绍一些可选字段:虚拟服务器 IP 地址和回调 URL,它们的用法是相关的,并在一起涵盖。这些字段显示在网关配置向导的身份验证设置屏幕上,如下所示:
图 2:身份验证设置
StoreFront 旨在使用回调 URL来收集有关用户网关会话的其他信息。它不严格用于身份验证。相反,它会查询应用于用户会话的网关会话策略的名称等内容。然后,这些附加详细信息可用作基于 CVAD Access Control (SmartAccess) 策略筛选器的一部分。在“无密码”身份验证场景中,例如在使用智能卡和 SAML 对用户的网关会话执行额外验证时,也需要使用此功能。对于全球站点负载平衡 (GSLB) 部署,使用回调 URL和虚拟服务器 IP 地址。本文稍后将讨论这些场景。如果这些方案中的一种不起作用,则回调 URL 和虚拟服务器 IP 地址字段都不是必填字段,可以留空。
如果需要回调 URL 且多个网关链接到单个应用商店,StoreFront 需要一种方法来正确识别流量是否通过网关,还需要正确识别流量来自哪个网关虚拟服务器,以将回调路由到保存用户的正确网关会话。StoreFront 首先通过匹配网关 URL 来执行此操作,如之前所述,它通过 XCITRIXVIA HTTP 标头接收到该 URL。如果有多个网关指定了相同的网关 URL(在 GSLB 体系结构中,同一 URL 解析为多个单独的网关虚拟服务器),StoreFront 会回退到使用 IP 地址来标识网关,这是一个唯一值。StoreFront 通过另一个 HTTP 标头 (XCITRIXVIAVIP) 从网关接收虚拟服务器 VIP 地址。收到后,它会尝试与其分配的网关之一中的虚拟服务器 IP 地址字段的值进行匹配。假设 StoreFront 可以根据虚拟服务器 IP 地址匹配来识别一个网关,则回调成功完成。因此,只有在指定回调 URL 且有多个网关绑定到定义了相同网关 URL 的应用商店时,才需要虚拟服务器 IP 地址。
GSLB URL
最后,在 GUI 中未显示的参数:GSLB URL。店面3.9版本仅通过 PowerShell引入了向网关定义指定 GSLB URL 参数的功能。此 GSLB URL 作为备用来源,StoreFront 接受来自同一网关定义的身份验证请求。此参数在Get-STFRoamingGateway命令输出中可见。此参数的目的是减少需要为单个应用商店定义的网关总数以简化管理。如果没有它,必须为用户可以使用的每个 Gateway URL + 唯一回调 URL 组合定义一个网关对象,这些组合可以在企业环境中快速加起来。
例如,统一的 GSLB 地址 (https://www.nsg.com
) 后面的三个全局网关:一个在美国、一个在欧洲、一个在亚洲,每个都有一个唯一的回调 URL 将需要三个定义的网关。最重要的是,这些管理员希望能够在每个网关单独测试身份验证。这对于了解是否存在 GSLB 问题非常重要,这会导致为每个网关定义唯一的备用名称。此实例意味着总共需要为应用商店配置六个网关,如下所示:
显示名称 | 网关 URL | 虚拟服务器 IP 地址 | 回调 URL |
---|---|---|---|
GSLB US | https://www.nsg.com |
1.1.1.1 | https://callback-us.nsg.com |
GSLB欧盟 | https://www.nsg.com |
2.2.2.2 | https://callback-eu.nsg.com |
GSLB AP | https://www.nsg.com |
3.3.3.3 | https://callback-ap.nsg.com |
美国网关 | https://us.nsg.com |
1.1.1.1 | https://callback-us.nsg.com |
欧盟网关 | https://eu.nsg.com |
2.2.2.2 | https://callback-eu.nsg.com |
AP 网关 | https://ap.nsg.com |
3.3.3.3 | https://callback-ap.nsg.com |
表 1:完整的网关列表
通过应用 GSLB URL 参数,定义的网关数量可以减半,同时仍允许用户通过所有 GSLB 和唯一网关地址进行连接,如下所示:
显示名称 | 网关 URL | 虚拟服务器 IP 地址 | 回调 URL | GSLB URL |
---|---|---|---|---|
美国网关 | https://us.nsg.com |
1.1.1.1 | https://callback-us.nsg.com |
https://www.nsg.com |
欧盟网关 | https://eu.nsg.com |
2.2.2.2 | https://callback-eu.nsg.com |
https://www.nsg.com |
AP 网关 | https://ap.nsg.com |
3.3.3.3 | https://callback-ap.nsg.com |
https://www.nsg.com |
表 2:带有 GSLB URL 的合并网关列表
尽管参数被称为“GslbUrl”,但它的作用与该网关定义的备用主机名一样。它不一定是 GSLB 地址,只是访问同一个 Gateway 虚拟服务器的另一个名称。另一个用例可以是将 DNS 与路由到同一虚拟服务器的外部/内部网关地址拆分 DNS。
请注意,Workspace 应用程序 (Receiver) 无法识别此参数,因此通常情况下,上例中的 URL 将被翻转,以便 Workspace 应用程序 (Receiver) 客户端可以继续使用 GSLB 地址,并且在通过 Web 浏览器连接时可以使用每网关的 URL:
显示名称 | 网关 URL | 虚拟服务器 IP 地址 | 回调 URL | GSLB URL |
---|---|---|---|---|
美国网关 | https://www.nsg.com |
1.1.1.1 | https://callback-us.nsg.com |
https://us.nsg.com |
欧盟网关 | https://www.nsg.com |
2.2.2.2 | https://callback-eu.nsg.com |
https://eu.nsg.com |
AP 网关 | https://www.nsg.com |
3.3.3.3 | https://callback-ap.nsg.com |
https://ap.nsg.com |
表 3:针对 Receiver & Workspace 应用程序调整的 GSLB URL
设计要点
要总结前面的章节:
- 网关 URL 始终是必需的,并且必须与输入到 Web 浏览器或 Workspace 应用程序 (Receiver) 客户端的内容匹配
- 只有在使用 SmartAccess CVAD 策略、无密码身份验证方法(智能卡、SAML 等)或 GSLB URL 时,才需要回调 URL
- 只有在指定了回调 URL 且绑定到应用商店的多个网关且指定了相同的网关 URL 时,才需要虚拟服务器 IP 地址
- GSLB URL 是 StoreFront 3.9 中添加的新参数。当单个网关虚拟服务器可以通过多个 URL 访问时,该 URL 简化了 Gateway 与 StoreFront 的集成
- Workspace 应用程序 (Receiver) 不读取 GSLB URL 参数,因此网关 URL 始终是这些客户端使用的 URL,GSLB URL 是可供基于 Web 浏览器的连接使用的备用 URL
选择“默认设备”
当管理员为应用商店启用远程访问时,必须定义“默认设备”,如屏幕截图所示。
图 3:默认装置
对于基于 Web 浏览器的访问,“默认设备”设置没有影响。对于基于 Workspace 应用程序 (Receiver) 的访问,作为应用商店配置的一部分,此设置将在连接到应用商店时下载到 Re 此后默认情况下使用网关。如果所有定义的网关都共享网关 URL,那么再次发生,发生也没有影响(Receiver 只是使用该网关定义拉取 URL 来查询身份验证,因此在 GSLB 配置中,该查询是 GSLB 路由的)。如前所述,Workspace 应用程序 (Receiver) 未读取“GSLB URL”参数,因此定义为默认设备的网关必须定义适当的网关 URL,如上一节的“表 3:针对 Receiver 和 Workspace 应用程序调整的 GSLB URL”所示。
如果绑定到应用商店的网关具有不同的网关 URL,则所有 Receiver 客户端将使用任何一个定义为默认网关。如果您定义了不同的网关供不同的用户集使用,则此情况会有问题。例如,一个为具有令牌的用户配置了 LDAP+RADIUS 身份验证的网关和一个配置了智能卡身份验证的网关。如果用户将智能卡网关 URL 输入 Workspace 应用程序 (Receiver),但 StoreFront 将 LDAP+RADIUS 网关定义为默认网关,则在 Workspace 应用程序 (Receiver) 连接到 StoreFront 并缓存配置之后,所有未来的身份验证请求都将发送到 LDAP+RADIUS 网关,尽管用户最初输入了什么。解决此问题的唯一方法是单独的应用商店或服务器组。
设计要点
概括如下:
- 启用远程访问的商店具有默认网关,该网关定义 Workspace 应用程序 (Receiver) 客户端使用哪个网关 URL
- 要使用多个网关 URL 和 Workspace 应用程序 (Receiver) 启动的访问,必须定义单独的应用商店或 StoreFront 服务器组
最佳 HDX 路由
除了执行身份验证之外,可以在 StoreFront 中定义网关的另一个原因是最佳 HDX 路由。此设置为每个 Citrix Virtual Apps and Desktops 站点或区域分配一个网关。该设置的目的是通过可能不同于用户原始身份验证点的网关(例如通过离承载用户会话的 VDA 更近的网关)重新路由 ICA 连接。如果此“最佳”网关不以其他方式执行身份验证,它只需要绑定到会话代理的 STA 服务器,并且可以在 StoreFront 中设置为“仅 HDX 路由”网关类型,这样就消除了所有身份验证设置。
在下面显示的应用商店设置中将该网关分配到站点(通过“管理 Delivery Controller”)或区域(通过“管理区域”)时,存在一个可选的仅外部复选框。
图 4:最佳 HDX 路由
该设置意味着“最佳”网关将仅用于“外部”发起的 ICA 会话,这意味着使用网关直通作为身份验证类型的会话(StoreFront 假设表示用户来自公司网络外部)。此设置不适用于直接在 StoreFront 进行身份验证的用户(StoreFront 假定该用户位于公司网络内)。如果清除该框,则所有发往该站点或区域的 ICA 会话都将通过定义的网关进行路由,无论用户是外部还是内部。没有“仅限内部”复选框。这意味着定义的网关 URL 需要可以从所有可能的用户位置访问,如果没有拆分 DNS,这可能会很困难。这是另一种情况,对于具有最佳 HDX 路由的复杂架构场景,可能需要单独的存储(因为这是存储级别的设置)。
设计要点
概括如下:
- 用于最佳 HDX 路由的网关仅需要 STA 服务器绑定
- 用于最佳 HDX 路由的网关可以是“仅外部”或“外部和内部”,但不能“仅限内部”
- 需要单独的应用商店或服务器组来定义单独的内部和外部网关 URL 以实现最佳 HDX 路由
信号
信标与 StoreFront 配置中的网关分开定义,并在为应用商店启用远程访问并配置第一个网关时自动启用。信标是一个网站地址,用于帮助 Workspace 应用程序 (Receiver) 识别终端节点客户端是在公司网络内部还是外部,并将访问请求无缝路由到 StoreFront 基本 URL(如果客户端被确定为“内部”)或默认网关地址(如果客户端被确定为“外部”,而不提示用户进行更多输入。为此,Workspace 应用程序 (Receiver) 将首先查询内部信标地址(假设面向 Internet 的外部地址始终可以访问),然后仅在内部发生故障时才回退到外部信标地址。如果它可以到达内部 URL(获取 HTTP 200 响应),则假定客户端位于公司网络上,并将被定向到 StoreFront 基本 URL。
图 5:管理信标
如果用户通过 Web 浏览器进行连接,则根本不会使用信标。这是因为用户通过在浏览器栏中键入URL来提供输入,因此将浏览器定向到特定地址。使用 Workspace 应用程序 (Receiver),在初始配置之后,用户永远不会提供有关要使用哪个 URL 的进一步输入。Workspace 应用程序 (Receiver) 将基本 URL 和任何已配置的网关 URL 作为配置的一部分进行缓存,并且需要能够代表用户智能地选择在用户尝试使用该应用程序时使用哪个 URL。
除非使用相同的网关URL和店面基本网址,否则无需修改或调整信标地址。在这种情况下,外部和内部信标将是相同的,并且内部 URL 可以在外部访问,这样就会破坏目的。因此,管理员需要为内部信标选择“指定信标地址”,然后进入只能从公司网络访问的网站。否则,了解如何应用信标地址,以便在调查基于 Web 浏览器的访问问题时不会对其进行检查,这只是一个很好的故障排除做法。
设计要点
概括如下:
- 信标仅用于 Workspace 应用程序 (Receiver) 客户端
- 仅当 StoreFront 基本 URL 与网关 URL 匹配(并且可以从公司网络外部访问)时修改信标