ADC

AppQoE 操作

启用 AppQoE 功能后,您必须配置一个或多个处理请求的操作。

重要:

创建操作不需要特定的单个参数,但您必须至少包含一个参数,否则您无法创建操作。

使用命令行配置 AppQoE 操作

在命令提示符下,键入以下命令:

  • add appqoe action <name> [-priority <priority>] [-respondWith (ACS|NS) [<customfile>] [-altContentSvcName <string>] [-altContentPath <string>] [-maxConn <positive_integer>] [-delay <usecs>] [-polqDepth <positive_integer>] [-priqDepth <positive_integer>] [-dosTrigExpression <expression>] [-dosAction ( **SimpleResponse** | **HICResponse** )]
  • show appqoe action

示例

要为中优先级和最低优先级队列配置策略队列深度为 10 和 1000 的优先级队列,请执行以下操作:

> add appqoe action appqoe-act-basic-prhigh -priority HIGH
 Done

> add appqoe action appqoe-act-basic-prmedium -priority MEDIUM -polqDepth 10
 Done

> add appqoe action appqoe-act-basic-prlow -priority LOW -polqDepth 1000
 Done

> show appqoe action

1.       Name: appqoe-act-basic-prhigh
        ActionType: PRIORITY_QUEUING
        Priority: HIGH
        PolicyQdepth: 0
        Qdepth: 0

1.      Name: appqoe-act-basic-prmedium
        ActionType: PRIORITY_QUEUING
        Priority: MEDIUM
        PolicyQdepth: 10
        Qdepth: 0

1.      Name: appqoe-act-basic-prlow
        ActionType: PRIORITY_QUEUING
        Priority: LOW
        PolicyQdepth: 1000
        Qdepth: 0
Done
<!--NeedCopy-->

使用命令行修改现有 AppQoE 操作

在命令提示符下,键入以下命令:

  • set appqoe action <name> [-priority <priority>] [-altContentSvcName <string>] [-altContentPath <string>] [-polqDepth <positive_integer>] [-priqDepth <positive_integer>] [-maxConn <positive_integer>] [-delay <usecs>] [-dosTrigExpression <expression>] [-dosAction ( SimpleResponse | HICResponse )]
  • show appqoe action

使用命令行删除 AppQoE 操作的步骤

在命令提示符下,键入以下命令:

  • rm appqoe action <name>
  • show appqoe action

配置 AppQoE 操作的参数

  • 名。新操作的名称或要修改的现有操作的名称。名称可以以字母、数字或下划线符号开头,可以由 1 到字母、数字和连字符 (-)、句点 (.) 磅 (#)、空格 ()、符号 (@)、等号 (=)、冒号 (:) 和下划线 (_) 符号组成。

  • 优先事项. 请求分配到的优先级队列。当受保护的 Web 服务器或应用程序负载过重且无法接受其他请求时,指定资源可用时执行等待请求的顺序。这些选择是:

  1. 高。一旦资源可用,就立即满足请求。
  2. 中。在完成高优先级队列中的所有请求后执行请求。
  3. 低。在完成高优先级和中等优先级队列中的所有请求后执行请求。
  4. 最低。仅在已完成更高优先级队列中的所有请求后才执行请求。

如果未配置优先级,则 Citrix ADC 设备默认情况下将请求分配给最低优先级队列。

  • 响应与。将 Citrix ADC 配置为在达到指定阈值时执行指定的响应程序操作。必须与以下设置之一一一起使用:

    • ACS: 从备用内容服务提供内容。阈值:最大连接(最大连接)或延迟。
    • NS: 提供来自 Citrix ADC 的内置响应。阈值:最大连接(最大连接)或延迟。
    • 无操作: 不提供替代内容。如果达到 MaxConn(最大连接)或延迟阈值,则将连接分配给最低优先级队列。
  • 替代程序名称。如果指定了 -responseWith ACS,则替代内容服务的名称,通常是托管备用内容的 Web 服务器的绝对 URL。

  • 变量内容路径。如果指定了响应程序式 (ACS | NS),则指向替代内容的路径。

  • olqDepth。与此操作关联的策略队列的策略队列深度阈值。当策略队列中与此操作关联的连接数增加到指定数量时,后续请求将分配给最低策略队列。最小值:1 最大值:4,294,967,294

  • 深度。指定优先级队列的策略队列深度阈值。如果与当前操作关联的策略绑定到的虚拟服务器上指定队列中的请求数增加到指定的数量,则后续请求将分配给最低优先级队列。最小值:1 最大值:4,294,967,294

  • 麦克斯康与策略规则匹配的请求可打开的最大连接数。最小值:1 最大值:4,294,967,294

  • 延迟。与策略规则匹配的请求的延迟阈值(以微秒为单位)。如果匹配请求的延迟时间超过阈值, Citrix ADC 设备将执行指定的操作。如果指定了“不操作”,则设备将请求分配给“最低优先级”队列。最小值:1 最大值:599999,999

  • 表达式。添加可选的二级检查以触发 DoS 操作。

  • 操作。当设备确定其或受保护的服务器受到 DoS 攻击时要执行的操作。可能的值:SimpleResponse、HICResponse。

这些值指定 HTTP 质询响应程序法,用于验证传入请求的真实性,以减轻 HTTP-DDoS 攻击。

在 HTTP 质询-响应生成和验证过程中,AppQoE 使用 Cookie 来验证客户端的响应并验证客户端似乎是真实的。发送质询时,Citrix ADC 设备会生成两个 Cookie:

Header cookie (_DOSQ)。包含特定于客户端的信息,以便 Citrix ADC 设备可以验证响应。

Body cookie (_DOSH)。用于验证客户端计算机的信息。客户端的浏览器(或用户,在 HIC 的情况下)计算此 cookie 的值。Citrix ADC 设备将该值与预期值进行比较,以验证客户端。

设备发送给客户端用于计算 _DOSH 值的信息基于 DoS 操作配置。

  1. 简单响应:在这种情况下,Citrix ADC 设备将分割该值并生成一个 JavaScript 代码以合并最终值。能够计算原始值的客户端计算机被认为是真实的。

  2. HICResponse:在这种情况下,Citrix ADC 设备会生成两个单位数字,并为这些数字生成图像。然后,使用后补程序框架,设备将这些图像作为 base64 字符串插入。

限制

  1. 这不是一个微不足道的验证码实现,这就是为什么没有使用这个术语。

  2. 验证编号基于 Citrix ADC 生成的编号,该编号在 120 秒内不会更改。此数字应该是动态的或特定于客户端的。

使用配置实用程序配置 AppQoE 操作

  1. 导航至 AppExpert > AppQoE > 操作
  2. 在详细信息窗格中,执行以下操作之一:
    • 要创建新操作,请单击“添加”。
    • 若要修改现有操作,请选择该操作,然后单击“编辑”。
  3. 创建 AppQoE 操作配置 AppQoE 操作屏幕中,键入或选择参数的值。对话框的内容对应于“用于配置 AppQoE 操作的参数”中描述的参数,如下所示(星号表示必填参数):
    • 名称- name
    • 操作类型- respondWith
    • 优先级 — priority
    • 策略队列深度 — polqDepth
    • 队列深度- priqDepth
    • DOS 操作 — dosAction
  4. 单击 Create(创建)或 OK(确定)。
AppQoE 操作