NetScaler Gateway 配置,用于网页/软件即服务应用程序

Last published : Oct 24, 2026
要创建用于 Web/SaaS 应用程序的 NetScaler Gateway,请执行以下步骤:
  1. 从 <https://www.citrix.com/downloads/citrix-secure-private-access/Shell-Script/Shell-Script-for-Gateway-Configuration.html> 下载最新脚本 *ns_gateway_secure_access.sh*.。
  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 interpreter: No such file or directory,这意味着行结尾不正确。您可以使用任何富文本编辑器(例如 Notepad++)转换脚本。
  3. 通过 SSH 连接到 NetScaler,并切换到命令行(在 NetScaler 命令行界面上输入 'shell')。
  4. 使上传的脚本可执行。使用 chmod 命令执行此操作。
    chmod +x /var/tmp/ns_gateway_secure_access.sh
  5. 在 NetScaler 命令行界面上运行上传的脚本。
    网关配置 1
  6. 如果仅打算为 Web 和 SaaS 应用程序配置网关,请为“启用 TCP/UDP 应用程序类型支持”参数输入 N。
  7. 输入所需的参数。有关参数列表,请参阅先决条件。
    对于身份验证配置文件和 SSL 证书,您必须提供 NetScaler 上现有资源的名称。
    将生成一个包含多个 NetScaler 命令的新文件(默认情况下,文件路径为 var/tmp/ns_gateway_secure_access)。
    注意:
    在脚本执行期间,将检查 NetScaler 和 Secure Private Access 插件的兼容性。如果 NetScaler 支持 Secure Private Access 插件,脚本将启用 NetScaler 功能,以支持智能访问标签发送改进,并在资源访问受限时重定向到新的拒绝页面。有关智能标签的详细信息,请参阅支持智能访问标签。
    The Secure Private Access plug-in features persisted in the /nsconfig/rc.netscaler file allow to keep them enabled after NetScaler is restarted.
    NetScaler configuration 2
  8. 切换到 NetScaler CLI,并使用批处理命令运行新文件中生成的 NetScaler 命令。例如;
    batch -fileName /var/tmp/ns_gateway_secure_access -outfile
    /var/tmp/ns_gateway_secure_access_output
    NetScaler 会逐个运行文件中的命令。如果某个命令失败,它会继续执行下一个命令。
    如果资源已存在或步骤 6 中输入的某个参数不正确,则命令可能会失败。
  9. 请确保所有命令都已成功完成。
注意:
如果出现错误,NetScaler 仍会运行剩余命令并部分创建/更新/绑定资源。因此,如果您因某个参数不正确而看到意外错误,建议从头开始重新配置。

更新现有 NetScaler Gateway 网页和软件即服务应用程序配置

您可以使用现有 NetScaler Gateway 上的 ns_gateway_secure_access_update.sh脚本来更新 Web 和 SaaS 应用程序的配置。但是,如果您想手动更新现有配置(NetScaler Gateway 版本 14.1–4.42 及更高版本),请使用 更新现有 NetScaler Gateway 配置的示例命令。此外,您必须更新 NetScaler Gateway 虚拟服务器和会话操作设置。
注意:
Starting from NetScaler Gateway 14.1–25.56 and later, you can enable the Secure Private Access plug-in on NetScaler Gateway by using the NetScaler Gateway CLI or the GUI. For details, see Enable Secure Private Access plug-in on NetScaler Gateway.
您还可以使用现有 NetScaler Gateway 上的脚本来支持 Secure Private Access。但是,该脚本不会更新以下内容:
  • 现有 NetScaler 网关 虚拟服务器
  • 绑定到 NetScaler Gateway 的现有会话操作和会话策略
请确保在执行每个命令之前进行审查,并创建网关配置的备份。

NetScaler 网关 虚拟服务器设置

当您添加或更新现有 NetScaler Gateway 虚拟服务器时,请确保以下参数设置为定义的值。有关示例命令,请参阅 更新现有 NetScaler Gateway 配置的示例命令。
添加虚拟服务器:
  • tcpProfileName: nstcp_default_XA_XD_profile
  • 部署类型: ICA_STOREFRONT(仅适用于 add vpn vserver 命令)
  • 仅限ICA: 关闭
更新虚拟服务器:
  • tcpProfileName: nstcp_default_XA_XD_profile
  • 仅限ICA: 关闭

NetScaler 网关会话策略设置

会话操作通过会话策略绑定到网关虚拟服务器。创建或更新会话操作时,请确保以下参数设置为定义的值。有关示例命令,请参阅 更新现有 NetScaler Gateway 配置的示例命令。
  • transparentInterception: 关闭
  • SSO: ON
  • ssoCredential: 主要
  • useMIP: NS
  • useIIP: 关闭
  • icaProxy: 关闭
  • wihome: "https://storefront.mydomain.com/Citrix/MyStoreWeb" - 替换为真实的 Store URL。Store /Citrix/MyStoreWeb 的路径是可选的。
  • ClientChoices: 关闭
  • ntDomain: 您的域名.com - 用于 SSO(可选)
  • defaultAuthorizationAction: 允许
  • authorizationGroup: SecureAccessGroup (确保已创建此组,它用于绑定安全私有访问特定的授权策略)
  • clientlessVpnMode: 开启
  • clientlessModeUrlEncoding: 透明
  • SecureBrowse: 已启用
  • 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 的安全私有访问的更多信息,请参阅以下主题:
  • 与 ICA 应用程序的兼容性
  • 支持智能访问标签
  • 在 NetScaler 上保留 安全私有访问 插件设置
  • 在 NetScaler 网关上启用安全私有访问插件
  • 上传公共网关证书
  • 已知限制