Citrix ADC

HTTP 配置

重要:

从 Citrix ADC 版本 13.0 版本 71.x 开始,Citrix ADC 设备可以处理较大的标头大小 HTTP 请求以容纳 L7 应用程序请求。头部大小最多可配置 128 KB。

Citrix ADC 设备的 HTTP 配置可以在名为 HTTP 配置文件的实体中指定,该实体是 HTTP 设置的集合。然后,HTTP 配置文件可以与想要使用这些 HTTP 配置的服务或虚拟服务器相关联。

可以将默认 HTTP 配置文件配置为设置默认情况下全局应用于所有服务和虚拟服务器的 HTTP 配置。

注意:

当 HTTP 参数对于服务、虚拟服务器和全局值不同时,最特定实体(服务)的值将获得最高优先级。

Citrix ADC 设备还提供了配置 HTTP 的其他方法。请继续阅读以了解更多信息。

Citrix ADC 支持 WebSocket 协议,该协议允许浏览器和其他客户端创建到服务器的双向、全双工 TCP 连接。WebSocket 的 Citrix ADC 实施符合 RFC 6455 标准。

注意:

Citrix ADC 设备现在支持 HTTP/1.1 和 HTTP/2 协议的用户源 IP (USIP) 地址配置。

设置全局 HTTP 参数

Citrix ADC 设备允许您为适用于所有 Citrix ADC 服务和虚拟服务器的 HTTP 参数指定值。这可以通过以下方式完成:

  • 默认 HTTP 配置文件
  • 全局 HTTP 命令

默认 HTTP 配置文件

名为 nshttp_default_profile 的 HTTP 配置文件用于指定在服务或虚拟服务器级别没有提供 HTTP 配置时使用的 HTTP 配置文件。

注意:

  • 并非所有 HTTP 参数都可以通过默认的 HTTP 配置文件进行配置。某些设置是通过使用全局 HTTP 命令执行的(请参阅下一节)。

  • 默认配置文件不必明确绑定到服务或虚拟服务器。

配置默认 HTTP 配置文件

  • 使用命令行界面,在命令提示符处输入:

    set ns httpProfile nshttp_default_profile …

  • 在 GUI 上,导航到 系统 > 配置文件,单击 HTTP 配置文件 并更新 nshttp_default_profile。

全局 HTTP 命令

可以用来配置全局 HTTP 参数的另一种方法是全局 HTTP 命令。除了一些唯一的参数之外,此命令还复制了一些可以使用 HTTP 配置文件设置的参数。对这些重复参数所做的任何更新都会反映在默认 HTTP 配置文件中的相应参数中。

例如,如果使用此方法更新 maxReusePool 参数,则该值将反映在默认 HTTP 配置文件(nshttp_default_profile)的 maxReusePool 参数中。

注意:

Citrix 建议您仅对默认 HTTP 配置文件中不可用的 HTTP 参数使用此方法。

配置全局 HTTP 命令

  • 使用命令行界面,在命令提示符处输入:

    set ns httpParam …

  • 在 GUI 上,导航到 系统 > 设置,单击更 改 HTTP 参数 并更新所需的 HTTP 参数。

为连接请求配置忽略编码方案

要启用 HTTP/2 并设置 HTTP/2 参数以忽略连接请求中的编码方案,请在命令提示符处键入:

set ns httpParam [-ignoreConnectCodingScheme ( ENABLED | DISABLED )]

示例:

set ns httpParam -ignoreConnectCodingScheme ENABLED

使用 Citrix ADC 命令行将 HTTP 配置文件绑定到虚拟服务器

配置 HTTP 配置文件以删除 TRACE 或 TRACK 无效请求

您可以启用 MarkTraceRqInVal 参数将 TRACK 和 TRACK 请求标记为无效。如果在虚拟 IP 地址上启用此选项以及 DropInvalidReqs 选项,则可以重置向 Citrix ADC 设备发送 TRACE 或 TRACK 请求的客户端。

使用 CLI 配置 HTTP 配置文件

在命令提示符下,键入:

set ns httpProfile <profile name> [-markTraceReqInval ENABLED | DISABLED ]

示例:

set ns httpProfile profile1 -markTraceReqInval ENABLED

为服务组配置 HTTP 配置文件

在命令提示符下,键入:

add serviceGroup <serviceGroupName>@ <serviceType> [-cacheType <cacheType>] [-td <positive_integer>] [-maxClient <positive_integer>] [-maxReq <positive_integer>] [-cacheable ( YES | NO )] [-cip ( ENABLED | DISABLED ) [<cipHeader>]] [-usip ( YES | NO )] [-pathMonitor ( YES | NO )] [-pathMonitorIndv ( YES | NO )] [-useproxyport ( YES | NO )] [-healthMonitor ( YES | NO )] [-sp ( ON | OFF )] [-rtspSessionidRemap ( ON | OFF )] [-cltTimeout <secs>] [-svrTimeout <secs>] [-CKA ( YES | NO )] [-TCPB ( YES | NO )] [-CMP ( YES | NO )] [-maxBandwidth
<positive_integer>] [-monThreshold <positive_integer>] [-state ENABLED DISABLED )][-downStateFlush ( ENABLED | DISABLED )] [-tcpProfileName <string>] [-httpProfileName <string>] [-comment <string>] [-appflowLog ( ENABLED | DISABLED )] [-netProfile <string>] [-autoScale <autoScale> -memberPort <port> [-autoDisablegraceful ( YES | NO )] [-autoDisabledelay <secs>] ] [-monConnectionClose ( RESET | FIN )]

<!--NeedCopy-->

示例:

add serviceGroup rl-lips-30016 HTTP -maxClient 0 -maxReq 0 -cip ENABLED X-Forwarded-For -usip NO -useproxyport YES -cltTimeout 180 -svrTimeout 360 -CKA NO -TCPB NO -CMP NO -tcpProfileName live-tcp-profile-sg -httpProfileName profile1

使用 Citrix ADC GUI 配置 HTTP 配置文件

要将 TRACE 或 TRACK 请求标记为无效,请完成以下过程。

  1. 登录 Citrix ADC 设备,然后导航到 配置 >系统> 配置文件
  2. HTTP 配置文件 选项卡页中,单击 添加
  3. 创建 HTTP 配置文件 页面中,选择 将跟踪请求标记为无效 选项。
  4. 单击创建

    HTTP 无效的跟踪请求

设置服务或虚拟服务器特定的 HTTP 参数

使用 HTTP 配置文件,可以为服务和虚拟服务器指定 HTTP 参数。您必须定义 HTTP 配置文件(或使用内置的 HTTP 配置文件)并将该配置文件与适当的服务和虚拟服务器关联。

注意:

您还可以根据自己的要求修改默认配置文件的 HTTP 参数。

使用命令行界面指定服务或虚拟服务器级别的 HTTP 配置

在命令提示符处,执行以下操作:

  1. 配置 HTTP 配置文件。

    set ns httpProfile <profile-name>...

  2. 将 HTTP 配置文件绑定到服务或虚拟服务器。

    要将 HTTP 配置文件绑定到服务:

set service <name> .....

例如

> set service service1 -httpProfileName profile1
<!--NeedCopy-->

要将 HTTP 配置文件绑定到虚拟服务器:

set lb vserver <name> .....

示例:

> set lb vserver lbvserver1 -httpProfileName profile1
<!--NeedCopy-->

使用 GUI 指定服务或虚拟服务器级别的 HTTP 配置

在 GUI 上,执行以下操作:

  1. 配置 HTTP 配置文件。

    导航到 系统 > 配置文件 > HTTP 配置文件,然后创建 HTTP 配置文件。

  2. 将 HTTP 配置文件绑定到服务或虚拟服务器。

    导航到 流量管理 > 负载平衡 > 服务/虚拟服务器,然后创建 HTTP 配置文件,该配置文件必须绑定到服务/虚拟服务器。

内置 HTTP 配置文件

为了方便配置,Citrix ADC 提供了一些内置的 HTTP 配置文件。查看列出的配置文件并按原样使用,或者对其进行修改以满足您的要求。您可以将这些配置文件绑定到所需的服务或虚拟服务器。

内置配置文件 说明
nshttp_default_profile 表示设备上的默认全局 HTTP 设置。
nshttp_default_strict_validation 要求对 HTTP 请求和响应进行严格验证的部署的设置。

HTTP 配置示例

用于配置以下内容的示例命令行界面示例:

  • HTTP 波段统计
  • WebSocket 连接

HTTP 波段统计

指定 HTTP 请求和响应的波段大小。

> set protocol httpBand reqBandSize 300 respBandSize 2048
Done
> show protocol httpband -type REQUEST
<!--NeedCopy-->

WebSocket 连接

在所需的 HTTP 配置文件上启用 WebSocket。

> set ns httpProfile http_profile1 -webSocket ENABLED
Done
> set lb vserver lbvserver1 -httpProfileName profile1
Done
<!--NeedCopy-->