设计决策:设计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 来收集有关用户网关会话的其他信息。它不严格用于身份验证。相反,它会查询应用于用户会话的网关会话策略的名称等内容。然后,这些其他详细信息可用作基于 Citrix Virtual Apps and Desktops 访问控制的策略筛选器的一部分。在“无密码”身份验证场景中,例如在使用智能卡和 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。StoreFront 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 EU 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 Citrix Virtual Apps and Desktops 策略、无密码身份验证方法(智能卡、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,则再次出现不会产生任何影响(接收者只是使用该网关定义提取 URL 进行查询以进行身份验证,因此在 GSLB 配置中,该查询由 GSLB 路由)。如前所述,Workspace 应用程序 (Receiver) 不读取“GSLB URL”参数,因此定义为默认设备的网关必须定义相应的网关 URL,如上一节中的“表 3:针对 Receiver 和 Workspace 应用程序调整的 GSLB URL”所示。

如果绑定到应用商店的 URL 具有不同的网关 URL,则所有 Receiver 客户端都将使用我们定义的默认网关 URL。如果您定义了不同的网关供不同的用户集使用,则此情况会有问题。例如,一个为具有令牌的用户配置了 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 路由”网关类型,这样就消除了所有 身份验证 设置。

在此处显示的应用商店设置中将该网关分配给站点(通过管理交付控制器)或区域(通过管理区域)时,有一个可选的“仅限外部”复选框。

最佳 HDX 路由 图 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 和 StoreFront 基本 URL,否则无需修改或调整信标地址。在这种情况下,外部和内部信标将是相同的,并且内部 URL 可以在外部访问,这样就会破坏目的。因此,管理员需要为内部信标选择“指定信标地址”,然后进入只能从公司网络访问的网站。否则,了解如何应用信标地址,以便在调查基于 Web 浏览器的访问问题时不会对其进行检查,这只是一个很好的故障排除做法。

设计要点

概括如下:

  • 信标仅用于 Workspace 应用程序 (Receiver) 客户端
  • 仅当 StoreFront 基本 URL 与网关 URL 匹配(并且可以从公司网络外部访问)时修改信标

引用

集成网关和StoreFront

配置最佳 HDX 路由

StoreFront 新功能

设计决策:设计StoreFront 和网关集成