SameSite cookie 属性的配置支持

Last published : Oct 14, 2026
SameSite 属性指示浏览器 cookie 是可用于跨站点上下文还是仅用于同站点上下文。如果应用程序打算在跨站点上下文中访问,则只能通过 HTTPS 连接进行访问。有关详细信息,请参阅 RFC6265。
直到 2020 年 2 月,NetScaler 设备中未明确设置 SameSite 属性。浏览器采用默认值 (None)。未设置 SameSite 属性并未影响 NetScaler Gateway 和 NetScaler AAA 部署。
随着某些浏览器(例如 Google Chrome 80)的升级,cookie 的默认跨域行为发生了变化。SameSite 属性可以设置为以下值之一。Google Chrome 的默认值设置为 Lax。对于其他浏览器的某些版本,SameSite 属性的默认值可能仍设置为 None。
  • None:指示浏览器仅在安全连接上在跨站点上下文中使用 cookie。
  • Lax:指示浏览器在同站点上下文的请求中使用 cookie。在跨站点上下文中,只有安全的 HTTP 方法(如 GET 请求)才能使用 cookie。
  • Strict:仅在同站点上下文中使用 cookie。
如果 cookie 中没有 SameSite 属性,Google Chrome 会假定 SameSite = Lax 的功能。 因此,对于在需要浏览器插入 cookie 的跨站点上下文的 iframe 中进行的部署,Google Chrome 不会共享跨站点 cookie。因此,网站中的 iframe 可能无法加载。
已将名为 SameSite 的新 cookie 属性添加到 VPN 和 NetScaler AAA 虚拟服务器。此属性可在全局级别和虚拟服务器级别设置。
要配置 SameSite 属性,必须执行以下操作:
  1. 为虚拟服务器设置 SameSite 属性
  2. 将 cookie 绑定到 patset(如果浏览器丢弃了跨站点 cookie)

使用 CLI 设置 SameSite 属性

要在虚拟服务器级别设置 SameSite 属性,请使用以下命令。
set vpn vserver VP1 -SameSite  [ STRICT | LAX | None ]
set aaa vserver VP1 -SameSite  [ STRICT | LAX | None ]
要在全局级别设置 SameSite 属性,请使用以下命令。
set vpn param VP1 -SameSite  [ STRICT | LAX | None ]
set aaa param VP1 -SameSite  [ STRICT | LAX | None ]
注意:虚拟服务器级别设置优先于全局级别设置。Citrix 建议在虚拟服务器级别设置 SameSite cookie 属性。
如果浏览器丢弃跨站点 cookie,您可以将该 cookie 字符串绑定到现有的 ns_cookies_SameSite patset,以便将 SameSite 属性添加到 cookie 中。
示例:
bind patset ns_cookies_SameSite "NSC_TASS"
bind patset ns_cookies_SameSite "NSC_TMAS"

使用 GUI 设置 SameSite 属性

要在虚拟服务器级别设置 SameSite 属性:
  1. 导航到 NetScaler Gateway > 虚拟服务器。
  2. 选择一个虚拟服务器,然后单击编辑。
  3. 在基本设置部分中选择编辑图标,然后单击更多。
    在基本设置中单击更多
  4. 在 SameSite 中,根据需要选择选项。
    设置 SameSite 复选框
要在全局级别设置 SameSite 属性:
  1. 导航到 NetScaler Gateway > 全局设置 > 更改全局设置。
  2. 点击“安全”选项卡。
  3. 在 SameSite 中,根据需要选择选项。
    选择 SameSite 复选框