基于上下文的应用程序路由
配置应用程序时,会在应用程序配置下为其应用程序 URL 及其相关域或应用程序目标定义路由类型。此处定义的路由类型适用于所有有权访问该应用程序的用户。但是,在某些情况下,管理员可能希望根据用户上下文以不同方式路由同一应用程序。例如,当用户位于公司网络内部时,内部应用程序 URL 或目标必须直接路由,而不是通过 Secure Private Access 路由。
您可以使用 访问策略(针对特定用户) 或 会话策略(所有用户) 中的路由例外来配置此项。访问策略中的路由例外配置允许管理员为符合策略中定义的条件的用户或计算机编辑路由类型。由于此设置是访问策略的一部分,因此它仅适用于该策略中包含的用户和计算机。
注意:
如果访问策略中存在路由配置,则它会覆盖应用程序配置。
以下示例演示了路由例外用例。
用例:基于上下文的路由
场景:
-
A 组用户:ABC 公司的员工,通过内部路由的 NetScaler Gateway 访问 Outlook 应用程序和 Microsoft Teams 应用程序。
-
B 组用户:与 ABC 合作的第三方公司的员工。他们通过 NetScaler Gateway 访问某些应用程序(不包括 Outlook)。他们还有通过互联网访问的自己的 Outlook 应用程序,不希望通过 NetScaler Gateway 路由其 Outlook 流量。
问题:
-
B 组用户登录 Secure Access 客户端以访问 ABC 应用程序。
-
他们通过本机浏览器访问 Outlook 的请求通过 NetScaler Gateway 路由,导致访问被拒绝。
-
Outlook 应用程序的目标域对于 A 组和 B 组用户来说是相同的。
-
访问策略仅允许 A 组用户访问,导致 B 组用户在尝试启动 Microsoft Teams 或 Outlook 时被拒绝访问。
-
由于此路由问题,B 组用户无法访问其公司 Outlook。
解决方案:
ABC 公司管理员可以进行以下配置更改来解决此问题:
-
专门为访问 Office 365 应用程序的 B 组用户定义新的访问策略。
-
在访问策略中,启用路由例外选项。管理员可以查看与访问策略关联的所有内部应用程序的所有 URL 和相关域的列表。
-
对于所有 Office 365 应用程序 URL,将路由配置为在外部进行。这确保了 B 组用户访问其 Outlook 应用程序的请求通过互联网路由,绕过 NetScaler Gateway。通过实施这些更改,B 组用户可以通过互联网访问其公司 Outlook 应用程序,而无需通过 NetScaler Gateway 路由,同时仍可根据需要访问其他 ABC 应用程序。
更改路由类型的步骤
-
创建或编辑访问策略。有关详细说明,请参阅配置访问策略。
-
在访问策略中,将路由例外切换为“开”。
-
从与访问策略关联的应用程序 URL 和相关域列表中,找到要更改其路由类型的域。
-
根据您要应用的用户上下文,更改所选域的路由类型(例如,从 Internal 到 External)。
-
保存访问策略。
路由例外(/en-us/citrix-secure-private-access/media/spa-hybrid-routing-exceptions.png)
用例:将内部企业用户直接路由到后端应用程序
管理员可以配置会话策略,将内部企业用户直接路由到后端应用程序,而无需通过 NetScaler Gateway 隧道传输流量。会话策略根据网络位置和设备状态等因素提供动态路由。
有关配置会话策略的详细信息,请参阅 配置会话策略。
注意:
-
会话策略设置在会话级别应用于所有应用程序,而不是绑定到特定应用程序。
-
会话策略可以分配给所有用户或部分用户。
路由优先级
会话策略与访问策略协同工作,如果存在冲突,访问策略优先。在这种情况下,访问策略路由例外会覆盖会话策略。 如果既未配置访问策略也未配置会话策略,则全局路由设置(设置 > 应用程序域)将适用。
支持的 Citrix Secure Access™ 客户端
以下版本的 Citrix Secure Access 客户端支持将用户直接路由到后端应用程序。
-
macOS - 24.11.1 及更高版本。
-
Windows - 24.11.1.17 及更高版本。此外,必须启用 EnableContextualAccess VPN 客户端注册表。有关详细信息,请参阅 NetScaler Gateway Windows VPN 客户端注册表项。
示例用例
场景:
在医院中,当用户连接到医院网络“hospital_network1”时,来自应用程序的流量必须直接流向后端应用程序,因为这些应用程序在医院网络上可以直接访问。如果用户在医院网络之外,则应用程序流量必须通过隧道传输。
解决方案:
-
添加 app1、app2,并将路由设置为内部。
-
为应用程序(app1、app2)添加访问策略以授予访问权限。
-
添加会话策略以配置条件,指定在授予访问权限时必须考虑的用户组和网络位置。
-
选择用户条件并将其设置为所有用户。
-
添加网络位置条件。将其设置为匹配以下任意一项,并指定网络位置“hospital_network1”。这可确保来自“hospital_network1”的流量直接流向后端应用程序。
您还可以为此场景启用路由例外。例如,如果 app1 即使在医院网络上也必须始终通过隧道传输,则可以在访问策略中为 app1 的域配置路由例外。完成此操作后,路由例外将优先于会话策略。
使用会话策略配置医院网络内的直接路由
您可以使用会话策略允许用户通过绕过 NetScaler Gateway 隧道直接访问后端应用程序。
有关配置会话策略的详细信息,请参阅配置会话策略。