Citrix ADC

客户端维生

客户端保持活动特性允许在单个连接上发送多个客户端请求。该特性有利于事务管理。当设备上启用了客户端Keep-Alive模式,并且服务器对客户端请求的响应包含连接:关闭HTTP报头并执行以下任务:

  • 通过打乱头名称中的字符重命名现有的Connection头名称。

  • 添加一个新的Connection: header,并将Keep-Alive作为header的值。

客户端Keep-Alive模式使Citrix ADC设备能够使用同一个套接字连接处理多个请求和响应。该特性即使在服务器关闭与设备的连接之后,也会保持客户端和设备之间的连接(客户端连接)打开。这允许多个客户端请求使用一个连接,并节省了与打开和关闭连接相关的往返。客户端保持活动在SSL会话中是最有益的。

客户端keep-alive适用于以下场景:

  • 如果服务器不支持客户端keep-alive。
  • 如果服务器支持,但服务器上的应用程序不支持客户端保持连接。

注意:客户端保持连接适用于HTTP和SSL流量。Client-keep alive可以全局配置以处理所有流量。此外,您还可以在特定的服务上激活它。

在客户端保持连接环境中,配置的服务拦截客户端流量,并将客户端请求定向到源服务器。服务器发送响应并关闭服务器和设备之间的连接。如果服务器响应中出现“Connection: Close”报头,设备将破坏客户端响应中的此报头,并且客户端连接保持打开状态。因此,客户端不必为下一个请求打开新连接。相反,重新打开到服务器的连接。

注意:如果服务器发送回两个“Connection: Close”报头,则只有一个被编辑。这将导致客户端呈现对象的严重延迟,因为客户端在连接关闭之前不会假定对象已经完全交付。

配置客户端keep-alive

默认情况下,Citrix ADC在全局和服务级别上禁用了客户机keep-alive。因此,您必须在所需的范围内启用该特性。

注意:如果全局启用客户端keep-alive,则对所有服务启用它,而不管是否在服务级别启用它。此外,您必须配置一些HTTP参数以指定以下内容:

  • 连接重用池中保留的最大HTTP连接数。

  • 启用连接多路复用,并启用持久性Etag

注意:当持续ETag启用时,ETag报头包含有关提供内容的服务器的信息。这确保缓存验证条件请求或浏览器请求,对于该内容,总是到达相同的服务器。

通过Citrix ADC命令接口配置客户端keep-alive

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

  1. 在Citrix ADC上启用客户端keep-alive。

    • 在全球层面:开启ns模式cka
    • 在服务级别:set service -CKA YES

    注意:

    客户端保持连接功能只支持HTTP和SSL服务。

  2. 在绑定一个或多个服务的HTTP配置文件上配置HTTP参数。

    set ns httpProfile  -maxReusePool  -conMultiplex ENABLED -persistentETag ENABLED 

注意:

上配置这些参数nshttp_default _profile HTTP配置文件,使它们在全球范围内可用。

使用Citrix ADC GUI配置客户端保持连接

  1. 在Citrix ADC上启用客户端keep-alive。

    • 在全球层面

      导航到系统>设置,点击配置模式并选择客户端Keep Alive

      配置客户端keep-alive

    • 在服务级别

      导航到交通管理>负载平衡>服务,并选择需要的业务。在设置部分中,选择客户端维生复选框。

      配置客户端keep-alive

  2. 在绑定到一个或多个服务的HTTP配置文件上配置所需的HTTP参数。

  3. 导航到系统>配置文件,等等HTTP配置文件选项卡,选择所需的配置文件并更新所需的HTTP参数。

客户端维生