Citrix ADC

配置响应程序操作

启用响应程序功能后,必须配置一个或多个用于处理请求的操作。响应程序支持以下类型的操作:

  • 用回应。发送目标表达式定义的响应,而不将请求转发到网页服务器。(Citrix ADC设备替代Web服务器并充当Web服务器)使用这种类型的操作可以手动定义基于HTML的简单响应。通常情况下,“响应方式”操作的文本由网页服务器错误代码和简短的HTML页面组成。

  • 用SQL做出响应确定。发送由目标表达式定义的指定SQL OK响应。使用此类操作可以向SQL查询发送SQL ok响应。

  • 使用SQL错误进行响应。发送由目标表达式定义的指定SQL错误响应。使用此类操作可向SQL查询发送SQL错误响应。

  • 使用HTML页面进行响应。发送指定的HTML页面作为响应。您可以从以前上传的HTML页面的下拉列表中进行选择,也可以上传新的HTML页面。使用此类操作可以发送导入的HTML页面作为响应。设备在responsewithhtmlpage响应程序操作中使用自定义标头进行响应。您最多可以配置八个自定义标头。

  • 重定向。将请求重定向到其他网页或Web服务器。重定向操作可以将最初发送到 DNS 中存在但没有实际 Web 服务器的 “虚拟” 网站的请求重定向到实际的网站。它还可以将搜索请求重定向到适当的 URL。通常,重定向操作的重定向目标包含完整的 URL。

要使用Citrix ADC命令行配置响应程序操作,请执行以下操作:

显示指定响应程序操作的当前设置。如果未提供任何操作名称,则显示Citrix ADC设备上当前配置的所有响应程序操作的列表,其中包含缩写设置。

在命令提示符下,键入以下命令以配置响应程序操作并验证配置:

  • 添加响应器动作<名称> <类型> <目标>
  • 显示响应器动作

参数:

  • 名称。响应程序操作的名称。 最大长度:127

  • 类型。响应程序操作的类型。它可以是:(响应方式)。

  • 目标。用于指定响应内容的表达式

  • htmlpage。指定使用htmlpage进行响应的选项

  • 命中。执行操作的次数。

  • 参考计数。对操作的引用次数。

  • UndefHits。该行动导致民主基金的次数。

  • 评论。有关此响应程序操作的任何类型的信息。

  • 内置的。用于确定是否内置响应程序操作的标志

示例:

创建一个响应器动作,为不存在的url显示“Not Found”错误页面:> add responder action act404Error respondWith '"HTTP/1.1 404 Not Found\r\n\r\n"+ HTTP. req . url。HTTP_URL_SAFE + "在web服务器上不存在"名称:act404Error操作:respondwith目标:“HTTP/1.1 404 Not Found”+ HTTP. req . url。HTTP_URL_SAFE + "在web服务器上不存在。"添加响应器动作act404Error respondWith '"HTTP/1.1 404 Not Found\r\n\r\n"+ HTTP. req . url。HTTP_URL_SAFE + "在web服务器上不存在"名称:act404Error操作:respondwith目标:“HTTP/1.1 404 Not Found”+ HTTP. req . url。HTTP_URL_SAFE + "在web服务器上不存在。"Hits: 0 Undef Hits: 0 Action Reference Count: 0 Done 

要使用Citrix ADC命令行修改现有响应程序操作,请执行以下操作:

在命令提示符下,键入以下命令以修改现有的响应程序操作并验证配置:

  • 设置响应器动作 -target
  • 显示响应器动作

示例:

设置响应器动作act404Error -target '"HTTP/1.1 404 Not Found\r\n\r\n"+ HTTP. req . url。HTTP_URL_SAFE + "在web服务器上不存在"名称:act404Error操作:respondwith目标:“HTTP/1.1 404 Not Found”+ HTTP. req . url。HTTP_URL_SAFE + "在web服务器上不存在。"Hits: 0 Undef Hits: 0 Action Reference Count: 0 Done 

要使用Citrix ADC命令行删除响应程序操作,请执行以下操作:

在命令提示符下,键入以下命令以删除响应程序操作并验证配置:

  • Rm响应器动作
  • 显示响应器动作

示例:

rm响应器动作act404Error Done >显示响应器动作Done 

要使用Citrix ADC命令行在responsewithhtmlpage响应程序操作中添加自定义标头,请执行以下操作:

Citrix ADC设备现在可以在响应withhtmlpage响应程序操作中使用自定义标头进行响应。您最多可以配置八个自定义标头。以前,设备仅使用内容类型:text / html内容长度:<值>静态标头进行响应。

注意:

在自定义标题配置中,您还可以覆盖" Content-Type "标头值。

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

add responder action ( | ) [-comment ] [-responseStatusCode ] [-reasonPhrase ] [-headers …]

其中,

名。响应程序操作的名称。必须以字母、数字或下划线字符 (_) 开头,并且必须仅包含字母、数字和连字符 (-)、句点 (.) 哈希 (#)、空格 ()、at (@)、等于 (=)、冒号 (:) 和下划线字符。添加响应程序策略后可以更改。

类型。响应程序操作的类型。可用设置功能如下:

  1. 响应<目标>/响应-使用指定为目标的表达式响应请求。
  2. 响应withhtmlpage-使用上传的HTML页面对象指定为目标来响应请求。
  3. redirect-将请求重定向到指定为目标的URL。
  4. sqlresponse_ok-发送一个SQL确定响应。
  5. sqlresponse_error-发送一个SQL错误响应。这是一个强制性的论点。可能的值:无操作,响应方式,重定向,使用htmlpage进行响应,sqlresponse_ok sqlresponse_error

目标。指定响应内容的表达式。通常是重定向策略的url或默认语法表达式。除了引用请求中信息的Citrix ADC默认语法表达式之外,字符串构建器表达式还可以包含文本和HTML以及用于定义新行和段落的简单转义代码。用双引号将每个字符串构建器表达式元素(Citrix ADC默认语法表达式或字符串)括起来。使用加号 (+) 字符连接元素。

htmlpage。对于response withhtmlpage 策略,用作响应的 HTML 页面对象的名称。您必须首先导入页面对象。最大长度:31

评论。有关此响应程序操作的任何类型的信息。最大长度:255

响应状态码。HTTP响应状态码,例如200,302,404等。重定向操作类型的 默认值为 302,响应与 htmlpage 的默认值为 200 最小值:100 最大值:599

原因短语。用于指定HTTP响应的原因短语的表达式。原因短语可以是带引号或PI表达式的字符串文字。例如:"无效的网址:" + http.req.url最大长度:8191

标题。要插入到HTTP响应中的一个或多个标头。每个标头都指定为“名字(expr)”,其中expr是在运行时进行计算以提供命名标头值的表达式。您最多可以为响应程序操作配置八个标头。

要使用GUI配置响应程序操作,请执行以下操作:

  1. 导航到AppExpert >响应程序>操作
  2. 在详细信息窗格中,执行以下操作之一:
    • 要创建操作,请单击添加
    • 要修改现有操作,请选择该操作,然后单击”打开”。
  3. 单击”创建“或”确定”,具体取决于您是创建操作还是修改现有操作。
  4. 单击关闭。状态栏中将显示一条消息,指出该功能已启用。
  5. 要删除响应程序操作,请选择该操作,然后单击”删”。状态栏中将显示一条消息,指出该功能已被禁用。

使用“添加表达式”对话框添加表达式

  1. 创建响应程序操作配置响应程序操作对话框中,单击添加

  2. 在“添加表达式对话框中,在第一个列表框中为表达式选择第一个术语。
    • HTTP。HTTP协议。如果要检查与HTTP协议有关的请求的某些方面,请选择此选项。
    • 系统。一个或多个受保护的网站。如果要检查请求中与请求收件人有关的某些方面,请选择此选项。
    • 客户端。发送请求的计算机。如果要检查请求发件人的某些方面,请选择此选项。
    • 分析。与请求关联的分析数据。如果要检查请求元数据,请选择此选项。
    • 啜。一个sip请求。如果要检查sip请求的某些方面,请选择此选项。当你做出选择时,最右边的列表框会列出表达式下一部分的适当术语。
  3. 在第二个列表框中,为表达式选择第二个术语。这些选择取决于您在上一步中所做的选择,并且适合上下文。进行第二次选择后,“构造表达式”窗口下方的“帮助“窗口(该窗口为空)将显示描述刚刚选择的术语的用途和用法的帮助。
  4. 继续从上一列表框右侧显示的列表框中选择术语,或者在出现提示您输入值的文本框中键入字符串或数字,直到表达式完成。

配置全局HTTP操作

您可以将全局HTTP操作配置为在HTTP请求超时时调用响应程序操作。要配置此功能,必须首先创建要调用的响应程序操作。然后,将全局HTTP超时操作配置为使用该响应程序操作响应超时。

要使用Citrix ADC命令行配置全局HTTP操作,请执行以下操作:

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

  • 设置ns httpProfile -reqTimeoutAction <响应器动作名称>
  • 保存ns config

对于<响应器动作名称>,用响应程序操作的名称替换。

配置HTML页面导入

当Citrix ADC设备使用自定义消息进行响应时,我们可以使用HTML文件进行响应。您可以使用导入响应器htmlpage命令导入文件,然后在命添加响应器action respondwithhtmlpage 令中使用此文件。您还可以通过Citrix ADC GUI导入文件。您可以将所需的HTML页面导入到设备文件夹中,然后在响应程序运行期间上传该页面。

使用cli导入HTML页面

在命令提示符下,键入:

import responder htmlpage [] [-comment ] [-overwrite][-CAcertFile ]

示例:

import responder htmlpage http://www.example.com/page.html my-responder-page -CAcertFile my_root_ca_cert

其中,ca证书用于验证客户端证书。应使用“导入ssl certfile“CLI命令或等效命令通过API或GUI导入证书。如果未配置证书名称,则使用默认的根ca证书进行证书验证。

使用Citrix ADC图形用户界面导入HTML页面

  1. 导航到AppExpert>响应程序>HTML页面导入
  2. 响应程序HTML导入详细信息窗格中,单击添加
  3. HTML页面导入对象页面中,设置以下参数:

    1. 名称。HTML页面的名称。
    2. 从导入。从文件、文本或文本导入。
    3. URL。选择以输入HTML文件的url位置。
    4. 文件。从设备目录中选择HTML文件。
    5. 文本。选择HTML文件作为文本。
  4. 单击继续
  5. 验证响应者HTML页面详细信息。
  6. 单击完成

    HTML页面导入

要编辑HTML页面,可以选择一个文件,然后从”选择操作“下拉列表中单击”编辑响应程序HTML页面文件”。

编辑响应程序HTML页面文件

配置响应程序操作