ADC

客户端保持活动状态

客户端 keep-alive 功能允许在单个连接上发送多个客户端请求。此功能有利于交易管理。当设备上启用客户端保持活动模式时,服务器对客户端请求的响应包含连接:关闭 HTTP 标头并执行以下任务:

  • 通过重组标题名称中的字符来重命名现有 Connection 标头名称。

  • 添加一个新的连接:标头,以 Keep-Alive 作为标题的值。

客户端保持活动模式使 Citrix ADC 设备能够使用同一套接字连接处理多个请求和响应。即使在服务器关闭与设备的连接之后,该功能仍保持客户端和设备之间的连接(客户端连接)打开状态。这允许使用单个连接的多个客户端请求,并保存在打开和关闭连接时关联的往返行程。客户端保持活动状态在 SSL 会话中是最有益的。

客户端保持活动对于以下情况很有用:

  • 如果服务器不支持客户端保持活动状态。
  • 如果服务器支持但服务器上的应用程序不支持客户端保持活动状态。

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

在客户端保持活动状态环境中,配置的服务会拦截客户端流量,并将客户端请求定向到源服务器。服务器发送响应并关闭服务器与设备之间的连接。如果服务器响应中存在“连接:关闭”标头,则设备会在客户端响应中损坏此标头,客户端连接将保持打开状态。因此,客户端不必为下一个请求打开新的连接。相反,与服务器的连接被重新打开。

注意: 如果服务器发回两个“连接:关闭”标头,则只编辑一个标头。这会导致客户端渲染对象的显著延迟,因为在连接关闭之前,客户端不假定对象已完全传送。

配置客户端保持活动状态

默认情况下,Citrix ADC 在全局和服务级别上均禁用客户端保持连接。因此,您必须在所需的作用域启用该功能。

注意: 如果您在全局启用客户端保持活动状态,则无论是否在服务级别启用它,所有服务都将启用它。此外,您必须配置一些 HTTP 参数以指定以下内容:

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

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

注意: 启用持续 ETag 时, ETag 标题包括有关提供内容的服务器的信息。这可确保缓存验证条件请求或浏览器请求(对于该内容)始终到达同一服务器。

使用 Citrix ADC 命令界面配置客户端保持连接

在命令提示窗口中执行以下操作:

  1. 在 Citrix ADC 上启用客户端保持连接。

    • 在全球一级- enable ns mode cka
    • 在服务级别- set service <name> -CKA YES

    注意:

    只能为 HTTP 和 SSL 服务启用客户端保持连接。

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

    set ns httpProfile <name> -maxReusePool <value> -conMultiplex ENABLED -persistentETag ENABLED
    <!--NeedCopy-->
    

注意:

配置nshttp_default_profile HTTP``文件上配置这些参数,使其在全局可用。

使用 Citrix ADC GUI 配置客户端保持活动状态

  1. 在 Citrix ADC 上启用客户端保持连接。

    • 在全球层面

      导航到“系统”>“设置”,单击“配置模式”,然后选择“客户端 Keep Alive”。

    • 在服务级别

      导航到 流量管理 > 负载平衡 > 服务,然后选择所需的服务。在“设置”部分中,选中“客户端保持连接”复选框。

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

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

客户端保持活动状态