Citrix ADC

HTTP配置

重要的是:

从Citrix ADC发行版13.0 build 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实现是RFC6455兼容。

注意:

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配置文件

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

    设置nshttp_default_profile…

  • 在GUI界面中,导航到系统>配置文件,点击HTTP配置文件和更新nshttp_default_profile。

全球HTTP命令

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

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

注意:

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

配置全局HTTP命令的步骤

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

    设置nshttpparam…

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

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

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

设置nshttpparam [-ignoreConnectCodingScheme (ENABLED | DISABLED)]

例子:

set ns httpParam -ignoreConnectCodingScheme ENABLED

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

配置HTTP配置文件以删除跟踪或跟踪无效请求

您可以启用markTraceReqInval参数来标记TRACK和TRACK请求为无效。当您在虚拟IP地址上启用此选项和dropInvalidReqs选项时,您可以重新设置向Citrix ADC设备发送TRACE或TRACK请求的客户端。

使用CLI配置HTTP配置文件

在命令提示下,键入:

设置ns httpProfile [-markTraceReqInval ENABLED | DISABLED]

例子:

设置ns httpProfile Profile 1-已启用标记跟踪器eqinVal

配置服务组的HTTP配置文件

在命令提示下,键入:

添加serviceGroup < serviceGroupName > @ < serviceType > [-cacheType < cacheType >] [td < positive_integer >] [maxclient < positive_integer >] [-maxReq < positive_integer >][缓存(是的|不)][cip(启用|禁用)[< cipHeader >]][切实(是的|不)][-pathMonitor(是的|不)][-pathMonitorIndv(是的|不)][-useproxyport(是的|不)][-healthMonitor(是的|不)][- sp (|)] [-rtspSessionidRemap (|)] [-cltTimeout <秒>][-svrTimeout <秒>][-CKA(是的|不)][-TCPB(是的|不)][cmp(是的|不)][-maxBandwidth < positive_integer >] [-monThreshold < positive_integer >][状态启用禁用)][-downStateFlush(启用|禁用)][-tcpProfileName] [-httpProfileName ] [-comment ] [-appflowLog (ENABLED | DISABLED)] [-netProfile ] [-autoScale  -memberPort  [-autoDisablegraceful (YES | NO)] [-autoDisabledelay ]] [-monConnectionClose (RESET | FIN)] 

例子:

add serviceGroup rl-lip -30016 HTTP -maxClient 0 -maxReq 0 -cip ENABLED x - forward - for -usip NO -useproxyport YES -cltTimeout 180 -svrTimeout 360 -CKA NO -TCPB NO -CMP NO -tcpProfileName live-tcp-profile-sg -httpProfileName profile1 . log . log . log . log

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

要标记跟踪或跟踪无效请求,请完成以下过程。

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

    HTTP无效跟踪请求

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

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

注意:

您还可以根据需要修改默认概要文件的HTTP参数。

通过命令行接口指定服务或虚拟服务器级别的HTTP配置

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

  1. 配置HTTP配置文件。

    set ns httpProfile

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

    绑定HTTP配置文件到服务。

设置service .....

实例

> set service service1 -httpProfileName profile1 

绑定HTTP配置文件到虚拟服务器。

设置lb vserver。。。。。

例子:

>设置lb vserver lbvserver1-httpProfileName profile1<--需要复制-->

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

在GUI界面,执行以下操作:

  1. 配置HTTP配置文件。

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

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

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

内置的HTTP配置文件

为了便于配置,Citrix ADC提供了一些内置的HTTP配置文件。检查列出的配置文件并使用它,或者修改它以满足您的需求。您可以将这些配置文件绑定到所需的服务或虚拟服务器。

内置的配置文件 描述
nshttp_默认_配置文件 表示设备上的默认全局HTTP设置。
nshttp_default_strict_validation 需要严格验证HTTP请求和响应的部署的设置。

HTTP配置示例

配置以下命令行的示例:

  • HTTP乐队统计
  • WebSocket连接

HTTP乐队统计

指定HTTP请求和响应的带宽大小。

> set protocol httpBand reqBandSize 300 respBandSize 2048 Done > show protocol httpBand -type REQUEST 

WebSocket连接

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

> set ns httpProfile http_profile1 -webSocket ENABLED Done > set lbvserver lbvserver1 -httpProfileName profile1 Done