Web/SaaS 应用程序的 NetScaler Gateway 配置

要为 Web/SaaS 应用程序创建 NetScaler Gateway,请执行以下步骤:

  1. 下载最新脚本 *ns_gateway_secure_access.sh*. 来自 https://www.citrix.com/downloads/citrix-secure-private-access/Shell-Script/Shell-Script-for-Gateway-Configuration.html

  2. 将这些脚本上传到 NetScaler 机器。 您可以使用 WinSCP 应用程序或 SCP 命令。 例如, *scp ns_gateway_secure_access.sh nsroot@nsalfa.fabrikam.local:/var/tmp*

    例如, *scp ns_gateway_secure_access.sh nsroot@nsalfa.fabrikam.local:/var/tmp*

注意:

  • 建议使用 NetScaler /var/tmp 文件夹来存储临时数据。
  • 确保文件以 LF 行尾保存。 FreeBSD 不支持 CRLF。
  • 如果您看到错误 -bash: /var/tmp/ns_gateway_secure_access.sh: /bin/sh^M: bad interpretationr: No such file or directory,则表示行尾不正确。 您可以使用任何富文本编辑器(例如 Notepad++)转换脚本。
  1. SSH 到 NetScaler 并切换到 shell(在 NetScaler CLI 上输入“shell”)。
  2. 使上传的脚本可执行。 使用 chmod 命令来执行此操作。

    chmod +x /var/tmp/ns_gateway_secure_access.sh

  3. 在 NetScaler shell 上运行上传的脚本。

    NetScaler 配置 1

  4. 如果您打算仅为 Web 和 SaaS 应用程序配置网关,则在 启用 TCP/UDP 应用程序类型支持 参数中输入 N

  5. 输入所需参数。 有关参数列表,请参阅 先决条件

    对于身份验证配置文件和 SSL 证书,您必须提供 NetScaler 上现有资源的名称。

    生成一个包含多个 NetScaler 命令的新文件(默认为 var/tmp/ns_gateway_secure_access)。

注意:

在脚本执行期间,会检查 NetScaler 和安全私有访问插件的兼容性。 如果 NetScaler 支持安全私有访问插件,则该脚本将启用 NetScaler 功能来支持智能访问标签,在资源访问受到限制时发送改进并重定向到新的拒绝页面。 有关智能标签的详细信息,请参阅 对智能访问标签的支持

/nsconfig/rc.netscaler 文件中保留的安全私人访问插件功能允许在 NetScaler 重新启动后保持它们启用状态。

![NetScaler 配置 2](/en-us/citrix-secure-private-access/media/spaop-configure-netscaler2-old.png)
  1. 切换到 NetScaler CLI 并使用批处理命令从新文件运行生成的 NetScaler 命令。 举个例子;

    batch -fileName /var/tmp/ns_gateway_secure_access -outfile

    /var/tmp/ns_gateway_secure_access_output

    NetScaler 逐个运行文件中的命令。 如果一个命令失败,它会继续执行下一个命令。

    如果资源存在或步骤 6 中输入的某个参数不正确,则命令可能会失败。

  2. 确保所有命令均成功完成。

注意:

如果出现错误,NetScaler 仍会运行剩余的命令并部分创建/更新/绑定资源。 因此,如果由于某个参数不正确而出现意外错误,建议从开始重新进行配置。

更新 Web 和 SaaS 应用程序的现有 NetScaler Gateway 配置

您可以使用现有 NetScaler Gateway 上的 ns_gateway_secure_access_update.sh脚本来更新 Web 和 SaaS 应用程序的配置。 但是,如果要手动更新现有配置(NetScaler Gateway 版本 14.1–4.42 及更高版本),请使用 示例命令更新现有的 NetScaler Gateway 配置。 此外,您还必须更新 NetScaler Gateway 虚拟服务器和会话操作设置。

注意:

从 NetScaler Gateway 14.1–25.56 及更高版本开始,您可以使用 NetScaler Gateway CLI 或 GUI 在 NetScaler Gateway 上启用安全私有访问插件。 有关详细信息,请参阅 在 NetScaler Gateway上启用安全私有访问插件。

您还可以使用现有 NetScaler Gateway 上的脚本来支持安全私有访问。 但是,该脚本不会更新以下内容:

  • 现有的 NetScaler Gateway 虚拟服务器
  • 绑定到 NetScaler Gateway 的现有会话操作和会话策略

确保在执行之前检查每个命令并创建网关配置的备份。

NetScaler Gateway 虚拟服务器设置

添加或更新现有的 NetScaler Gateway 虚拟服务器时,请确保将以下参数设置为定义的值。 有关示例命令,请参阅 更新现有 NetScaler Gateway 配置的示例命令

添加虚拟服务器:

  • tcp配置文件名称:nstcp_default_XA_XD_profile
  • 部署类型:ICA_STOREFRONT(仅适用于 add vpn vserver 命令)
  • icaOnly:关闭

更新虚拟服务器:

  • tcp配置文件名称:nstcp_default_XA_XD_profile
  • icaOnly:关闭

NetScaler Gateway 会话策略设置

会话操作通过会话策略绑定到网关虚拟服务器。 创建或更新会话操作时,请确保将以下参数设置为定义的值。 有关示例命令,请参阅 更新现有 NetScaler Gateway 配置的示例命令

  • transparentInterception: 关闭
  • SSO: 开启
  • ssoCredential: 主要
  • 使用MIP: NS
  • useIIP: 关闭
  • icaProxy: 关闭
  • wihome: "https://storefront.mydomain.com/Citrix/MyStoreWeb" - 用真实商店 URL 替换。 存储路径 /Citrix/MyStoreWeb 是可选的。
  • 客户端选择: 关闭
  • ntDomain: mydomain.com - 用于 SSO(可选)
  • defaultAuthorizationAction: 允许
  • authorizationGroup: SecureAccessGroup(确保创建此组,用于绑定安全私人访问特定的授权策略)
  • clientlessVpnMode: 开启
  • clientlessModeUrlEncoding: 透明
  • 安全浏览: 已启用
  • Storefronturl: "https://storefront.mydomain.com"
  • sfGatewayAuthType: 域

更新现有 NetScaler Gateway 配置的示例命令

添加/更新虚拟服务器:

  • add vpn vserver SecureAccess_Gateway SSL 999.999.999.999 443 -Listenpolicy NONE -tcpProfileName nstcp_default_XA_XD_profile -deploymentType ICA_STOREFRONT -vserverFqdn gateway.mydomain.com -authnProfile auth_prof_name -icaOnly OFF
  • set vpn vserver SecureAccess_Gateway -icaOnly OFF

添加会话操作:

  • add vpn sessionAction AC_OSspaonprem -transparentInterception OFF -defaultAuthorizationAction ALLOW -authorizationGroup SecureAccessGroup -SSO ON -ssoCredential PRIMARY -useMIP NS -useIIP OFF -icaProxy OFF -wihome "https://storefront.example.corp/Citrix/SPAWeb" -ClientChoices OFF -ntDomain example.corp -clientlessVpnMode ON -clientlessModeUrlEncoding TRANSPARENT -SecureBrowse ENABLED -storefronturl "https://storefront.example.corp" -sfGatewayAuthType domain
  • add vpn sessionAction AC_WBspaonprem -transparentInterception OFF -defaultAuthorizationAction ALLOW -authorizationGroup SecureAccessGroup -SSO ON -ssoCredential PRIMARY -useMIP NS -useIIP OFF -icaProxy OFF -wihome "https://storefront.example.corp/Citrix/SPAWeb" -ClientChoices OFF -ntDomain example.corp -clientlessVpnMode ON -clientlessModeUrlEncoding TRANSPARENT -SecureBrowse ENABLED -storefronturl "https://storefront.example.corp" -sfGatewayAuthType domain

添加会话策略:

  • add vpn sessionPolicy PL_OSspaonprem "HTTP.REQ.HEADER(\"User-Agent\").CONTAINS(\"CitrixReceiver\")" AC_OSspaonprem
  • add vpn sessionPolicy PL_WBspaonprem "HTTP.REQ.HEADER(\"User-Agent\").CONTAINS(\"CitrixReceiver\").NOT && HTTP.REQ.HEADER(\"User-Agent\").CONTAINS(\"plugin\").NOT" AC_WBspaonprem

将会话策略绑定到 VPN 虚拟服务器:

  • bind vpn vserver SecureAccess_Gateway -policy PL_OSspaonprem -priority 111 -gotoPriorityExpression NEXT -type REQUEST
  • bind vpn vserver SecureAccess_Gateway -policy PL_WBspaonprem -priority 110 -gotoPriorityExpression NEXT -type REQUEST

将安全私有访问插件绑定到 VPN 虚拟服务器:

  • bind vpn vserver spaonprem -appController "https://spa.example.corp"

有关会话操作参数的详细信息,请参阅 vpn-sessionAction

其他信息

有关 NetScaler Gateway 用于安全私有访问的其他信息,请参阅以下主题:

Web/SaaS 应用程序的 NetScaler Gateway 配置