ADC

高级策略基础结构

高级策略基础结构使您能够分析许多数据(例如,HTTP 请求的正文),并在策略规则中配置许多操作(例如,将请求正文中的数据转换为 HTTP 标头)。您必须将策略绑定到与 NetScaler 功能相关的处理过程中的特定点。绑定点是决定何时评估策略的一个因素。

使用高级策略的好处

高级策略使用基于类对象模型构建的强大表达式语言,它们提供了多种选项,可增强您配置各种 NetScaler 功能行为的能力。使用高级策略基础结构,您可以执行以下操作:

  • 对图层 2 到 7 中的网络流量执行细粒度分析。
  • 评估 HTTP 或 HTTPS 请求或响应的标头或正文的任何部分。
  • 将策略绑定到高级策略基础结构在默认、替代和虚拟服务器级别支持的多个绑定点。
  • 使用特殊工具,例如模式集、策略标签、速率限制标识符、HTTP 标注和变量,使您能够为复杂的用例有效地配置策略。

此外,配置实用程序扩展了对高级策略基础结构和表达式的强大的 GUI 支持,使对网络协议了解有限的用户能够快速轻松地配置策略。配置实用程序还包括高级策略的策略评估功能。您可以使用此功能评估高级策略,并在提交之前测试其行为,从而降低配置错误的风险。

高级策略的基本组件

以下是高级策略的一些特征:

  • 名称。每个策略都有一个唯一的名称。

  • 规则。该规则是一个逻辑表达式,使 NetScaler 功能能够评估一段流量或另一个对象。例如,规则可以使 NetScaler 能够确定 HTTP 请求是源自特定 IP 地址,还是 HTTP 请求中的缓存控制标头的值为“无缓存”。

  • 绑定。为确保 NetScaler 可以在需要时调用策略,请将该策略关联或将其绑定到一个或多个绑定点。

    您可以将策略全局绑定或绑定到虚拟服务器。有关详细信息,请参阅 关于策略绑定

  • 关联的操作。操作是独立于策略的实体。策略评估最终导致 NetScaler 执行操作。

    例如,集成缓存中的策略可以识别对 .gif 或 .jpeg 文件的 HTTP 请求。与此策略关联的操作可确定从缓存中提供对这些类型请求的响应。

对于某些功能,您可以将操作配置为一组更复杂的指令(称为配置文件)的一部分。

不同的 NetScaler 功能如何使用策略

NetScaler 支持依赖策略进行操作的各种功能。下表总结了 NetScaler 功能如何使用策略。

功能名称 您如何在该功能中使用策略
重写 用于在提供之前识别要修改的数据。这些策略提供了修改数据的规则。例如,您可以根据传入请求的地址修改 HTTP 数据以将请求重定向到新主页、新服务器或选定的服务器,或者出于安全目的修改数据以屏蔽响应中的服务器信息。URL Transformer 函数可识别 HTTP 事务和文本文件中的 URL,以评估是否必须转换 URL。
响应方 配置响应程序函数的行为。响应程序策略基于规则,该规则由一个或多个表达式组成。规则与操作相关联,如果请求与规则匹配,则执行该操作。
内容交换 根据传入请求的特征确定哪个服务器或哪组服务器负责提供响应。请求特征包括设备类型、语言、Cookie、HTTP 方法、内容类型和关联的缓存服务器。
缓存重定向 确定响应是从缓存还是源服务器提供。
压缩控制 确定必须压缩哪种类型的流量。
DNS 修改 DNS 请求和响应的各个部分
VPN 无客户端访问 确定 NetScaler Gateway 如何执行身份验证、授权、审核和其他功能,并使用 NetScaler Gateway 为常规 Web 访问定义重写规则。
缓存 确定是从缓存还是源服务器提供响应。
URL 转换策略 选择 NetScaler 必须使用 URL 转换配置文件转换的请求和响应。
应用程序防火墙策略 为不同类型的 Web 内容分配不同的筛选规则。
Authorization(授权) 在不暴露有关网站实际配置的不必要细节的情况下提供对所请求内容的访问权限。
TM 流量 设置运行时应用程序流量的特征(例如连接超时、单点登录和启动注销)。
TM 会话 在用户登录到授权、授权和记账虚拟服务器后自定义用户会话。
SSL 策略 定义要对请求执行的控件或数据操作。因此,SSL 策略可以分为控制策略和数据策略。控制策略使用控制操作,例如强制进行客户端身份验证。数据策略使用数据操作,例如在请求中插入一些数据。
AutoScale 根据定义的条件自动无缝地向上或向下扩展虚拟服务器的数量。
AppFlow 允许 NetScaler 将流量数据导出到收集工具,通常用于网络或安全分析。
内容优化 缩短客户端和服务器之间的事务时间,减少带宽消耗。此外,还可以通过卸载某些任务并提高其他任务的效率来提高服务器性能。
溢出效应 使用 NetScaler 规则指定溢出发生的条件。这些规则使您可以灵活地为各种运行条件配置溢出效应。
ICA 要动态生成 ICAP 请求,请接收 ICAP 响应并记录内容检查数据。
VPN 会话 在 NetScaler Gateway 上,配置端点分析 (EPA) 以检查用户设备是否满足特定的安全要求,从而允许用户访问内部资源。
VPN 流量 在 NetScaler Gateway 上,配置端点分析 (EPA) 以检查用户设备是否满足特定的安全要求,从而允许用户访问内部资源。
syslog 定义要将哪些消息记录到指定的 syslog 服务器。
nslog 定义要将哪些消息记录到指定的 nslog 服务器。
视频优化检测 创建用户定义的视频优化检测策略标签,您可以将检测策略绑定到该标签。策略标签是一种按指定顺序评估一组策略的工具。通过使用策略标签,您可以将视频优化功能配置为选择下一个策略,调用不同的策略标签,或者通过查看之前的策略评估为 TRUE 还是 FALSE 来完全终止策略评估。
隧道施工 定义用于隧道传输流量的压缩类型。
内容检查 指定 NetScaler ADC 拦截并运行指定操作的请求。
VPN URL 创建指向外部或内部资源的书签链接,该链接根据类型显示在访问接口上,作为网站链接或文件共享链接。
机器人 创建用户定义的机器人策略标签,您可以将策略绑定到该标签。策略标签是一种按指定顺序评估一组策略的工具。通过使用策略标签,您可以将响应者功能配置为选择下一个策略,调用不同的策略标签,或者通过查看先前的策略评估为 TRUE 还是 FALSE 来完全终止策略评估。
VPN 内联网应用程序政策 定义可通过 NetScaler Gateway 访问的内联网应用程序。
SmartAccess 创建指定功能状态的 ICA 访问配置文件(“默认”或“已禁用”)。
负载平衡 定义如何在其管理的负载平衡服务器之间分配客户端连接。

关于操作和配置文件

策略本身不会对数据采取操作。策略提供用于评估流量的只读逻辑。要使某项功能能够根据策略评估执行操作,请配置操作或配置文件并将其与策略关联。

注意:

操作和配置文件特定于特定功能。有关为要素分配操作和配置文件的信息,请参阅各个功能的文档。

关于操作

操作是 NetScaler 采取的步骤,具体取决于对策略中表达式的评估。例如,如果策略中的表达式与请求中的特定源 IP 地址匹配,则与此策略关联的操作将决定是否允许该连接。

NetScaler 可以执行的操作类型是特定于功能的。例如,在重写中,操作可以替换请求中的文本、更改请求的目标 URL 等。在集成缓存中,操作确定 HTTP 响应是从缓存还是源服务器提供。

在某些 NetScaler 功能中,操作是预定义的,在其他情况下,操作是可配置的。在某些情况下(例如,Rewrite),您可以使用与配置关联策略规则相同的表达式类型来配置操作。

注意:

并非所有功能、协议、方向和实体组合均有效。

关于配置文件

某些 NetScaler 功能使您可以将配置文件或操作和配置文件与策略相关联。配置文件是使功能能够执行复杂功能的设置的集合。例如,在应用程序防火墙中,XML 数据的配置文件可以执行多个筛选操作,例如检查数据是否存在非法 XML 语法或 SQL 注入的证据。

关于策略绑定

策略与允许调用该策略的实体关联或绑定。例如,您可以将策略绑定到适用于所有虚拟服务器的请求时间评估。绑定到特定绑定点的策略集合构成了策略库。

以下是策略不同类型的绑定点的概述:

  • 全局请求时间。在请求时,策略可用于功能中的所有组件。
  • 全局响应时间。在响应时,某个功能中的所有组件都可以使用策略。
  • 请求时间,特定于虚拟服务器。策略可以绑定到特定虚拟服务器的请求时间处理。例如,您可以将请求时间策略绑定到缓存重定向虚拟服务器,以确保将特定请求转发到缓存的负载平衡虚拟服务器,并将其他请求发送到源的负载平衡虚拟服务器。
  • 响应时间,特定于虚拟服务器。策略还可以绑定到特定虚拟服务器的响应时间处理。
  • 用户定义的策略标签。对于高级策略基础结构,您可以通过定义策略标签并在策略标签下收集一组相关策略来配置策略的自定义分组(策略库)。
  • 其他绑定点。其他绑定点的可用性取决于高级策略的类型以及相关 NetScaler 功能的细节。

有关高级策略绑定的其他信息,请参阅 绑定使用高级策略的策 略主题。

关于策略的评估顺序

NetScaler 中的功能按特定顺序处理,包括评估该功能的策略和执行所选操作。有关更多信息,请参阅 数据包流

在邮件处理的任一时刻,策略评估都是根据以下各项的组合进行的:

  • 协议(例如 HTTP、SIP TCP 或 Diameter)
  • 方向(请求或响应)
  • 功能(例如 Rewrite、Responder 或 Bot)

组合不能混合。策略按称为银行(也称为策略标签或绑定点)的策略组按以下顺序进行评估:

  1. 全局覆盖
  2. 使用的特定 LB 虚拟服务器
  3. 如果使用了任何特定的 CS 虚拟服务器
  4. 全局默认

在银行内部,保单的评估顺序从最低优先级到最高优先级。如果策略规则的评估结果为 false,则评估会自动转到同一银行中下一个编号较高的优先级。如果同一家银行没有保单规则,则评估将由订单中下一家银行的第一份保单承担。如果没有更多策略,则策略评估结束。如果策略规则的计算结果为 true,则会记住相应的操作或配置文件,以便日后执行。

如果策略的评估结果为真,则会检查“gotoPriorityExpression”值。如果“gotoPriorityExpression”为“END”,则策略评估将停止。如果为“NEXT”,则下一个策略(如上所述)将被评估。如果是表达式,则会评估该表达式,然后选择具有该优先级的策略。

注意

除策略标签外,默认“gotoPriorityExpression”值为“END”。但是,对于某些可以运行所有操作的功能,我们建议您明确指定“gotoPriorityExpression”值。

策略评估停止后,该功能将按顺序运行操作或配置文件列表。这些功能要么运行所有操作(例如 Rewrite),要么运行一个操作(例如 Responder 或 Bot)。如果有多个操作或配置文件与只能运行一个功能相关联,则标准是运行最后一个操作或配置文件。如果未选择任何操作或配置文件,则该功能将执行其默认操作。

基于交通流量的评估顺序

有些策略会影响其他策略的结果。以下是示例:

  • 如果从集成缓存提供响应,则其他一些 NetScaler 功能不会处理响应或启动响应的请求。

  • 如果应用程序防火墙拒绝传入请求,则没有其他功能可以处理该请求。

  • Responder 执行的大多数操作都会停止进一步处理。

  • Rewrite 执行的“丢弃”和“重置”操作会停止进一步处理。

高级策略基础结构