应用程序配置文件与虚拟服务器相关联,以增强负载平衡网络流量并简化流量管理任务。

应用程序配置文件定义特定网络流量类型的行为。关联的虚拟服务器会根据应用程序配置文件中指定的值处理网络流量。快速 TCP、快速 UDP 和 HTTP 应用程序配置文件是支持的配置文件类型。

默认情况下,如果没有应用程序配置文件与虚拟服务器关联,将使用 TCP 应用程序配置文件。如果应用程序基于 TCP 或 UDP 协议运行且不需要任何应用程序级负载平衡(例如,HTTP URL 负载平衡),将使用 TCP 和 UDP 应用程序配置文件。如果您只需要第 4 层负载平衡(此方法性能更高并支持连接镜像),也会使用这些配置文件。

如果负载平衡器需要根据第 7 层执行操作,例如,将所有映像请求负载平衡到某特定服务器池成员或终止 HTTPS 以从池成员卸载 SSL,则对 HTTP 和 HTTPS 应用程序使用 HTTP 应用程序配置文件。与 TCP 应用程序配置文件不同,在选择服务器池成员之前,HTTP 应用程序配置文件会终止客户端 TCP 连接。

图 1. 第 4 层 TCP 和 UDP 应用程序配置文件
图 2. 第 7 层 HTTPS 应用程序配置文件

过程

  1. 从浏览器中,使用管理员权特权登录到位于 https://nsx-manager-ip-addressNSX Manager
  2. 选择网络 > 负载平衡器 > 配置文件 > 应用程序配置文件
  3. 创建一个快速 TCP 应用程序配置文件。
    1. 从下拉菜单中选择添加 > 快速 TCP 配置文件
    2. 输入快速 TCP 应用程序配置文件的名称和描述。
    3. 填写应用程序配置文件详细信息。
      您也可以接受快速 TCP 配置文件的默认设置。
      选项 说明
      连接闲置超时 输入在建立 TCP 连接后服务器可以保持闲置的时长(秒)。

      将空闲时间设置为实际应用程序空闲时间,再加几秒,以便负载平衡器不会先于应用程序关闭其连接。

      连接关闭超时 输入在关闭 TCP 连接之前 FIN 或 RST 必须为应用程序保持该连接的时间(秒)。

      支持较快的连接速率可能需要短暂的关闭超时。

      HA 流量镜像 切换该按钮可将发往关联虚拟服务器的所有流量镜像到 HA 备用节点。
    4. 单击确定
  4. 创建一个快速 UDP 应用程序配置文件。
    您也可以接受 UDP 配置文件的默认设置。
    1. 从下拉菜单中选择添加 > 快速 UDP 配置文件
    2. 输入快速 UDP 应用程序配置文件的名称和描述。
    3. 填写应用程序配置文件详细信息。
      选项 说明
      闲置超时 输入在建立 UDP 连接后服务器可以保持闲置的时长(秒)。

      UDP 是一个无连接协议。为实现负载平衡,在闲置超时期限内收到的流量签名(例如,源和目标 IP 地址或端口和 IP 协议)相同的所有 UDP 数据包均视为属于同一连接并发送到相同服务器。

      如果在闲置超时期限内未收到任何数据包,则会关闭在流量签名与选定服务器之间创建关联的连接。

      HA 流量镜像 切换该按钮可将发往关联虚拟服务器的所有流量镜像到 HA 备用节点。
    4. 单击确定
  5. 创建一个 HTTP 应用程序配置文件。
    您也可以接受 HTTP 配置文件的默认设置。

    HTTP 应用程序配置文件用于 HTTP 和 HTTPS 应用程序。

    1. 从下拉菜单中选择添加 > 快速 HTTP 配置文件
    2. 输入 HTTP 应用程序配置文件的名称和描述。
    3. 填写应用程序配置文件详细信息。
      选项 说明
      重定向
      • 无 - 如果网站暂时关闭,用户将收到“未找到页面”错误消息。
      • HTTP 重定向 - 如果网站暂时关闭或已移动,该虚拟服务器的入站请求可以暂时重定向到此处指定的 URL。仅支持静态重定向。

        例如,如果将“HTTP 重定向”设置为 http://sitedown.abc.com/sorry.html,无论实际请求如何(例如,http://original_app.site.com/home.html 或 http://original_app.site.com/somepage.html),当原始网站关闭时,入站请求都会重定向到指定 URL。

      • HTTP 到 HTTPS 重定向 - 某些安全应用程序可能需要强制通过 SSL 进行通信,但是不拒绝非 SSL 连接,而是重定向客户端请求以使用 SSL。通过“HTTP 到 HTTPS 重定向”,您可以保留主机和 URI 路径并重定向客户端请求以使用 SSL。

        对于 HTTP 到 HTTPS 重定向,HTTPS 虚拟服务器必须具有端口 443,并且必须在同一负载平衡器上配置相同的虚拟服务器 IP 地址。

        例如,将针对 http://app.com/path/page.html 的客户端请求重定向到 https://app.com/path/page.html。如果在重定向(例如,重定向到 https://secure.app.com/path/page.html)时必须修改主机名或 URI,则必须使用负载平衡规则。

      X-Forwarded-For (XFF)
      • INSERT - 如果入站请求中不存在 XFF HTTP 标头,则负载平衡器会插入一个带有客户端 IP 地址的新 XFF 标头。
      • REPLACE - 如果入站请求中已存在 XFF HTTP 标头,则负载平衡器可以替换该标头。

      Web 服务器会记录其处理的每个请求以及请求客户端 IP 地址。可使用这些日志进行调试和分析。如果部署拓扑需要在负载平衡器上进行 SNAT,则服务器会使用客户端 SNAT IP 地址,这违背了日志记录的目的。

      解决办法是,可以将负载平衡器配置为插入带有原始客户端 IP 地址的 XFF HTTP 标头。可以将服务器配置为记录 XFF 标头中的 IP 地址,而不是连接的源 IP 地址。

      连接闲置超时 输入 HTTP 应用程序可以保持闲置的时长(秒),而不是必须在 TCP 应用程序配置文件中配置的 TCP 套接字设置。
      请求标头大小 指定用于存储 HTTP 请求标头的最大缓冲区大小(字节)。
      NTLM 身份验证 切换该按钮可使负载平衡器关闭 TCP 多路复用并启用 HTTP 保持活动状态。

      NTLM 身份验证协议可优先于 HTTP 使用。对于使用 NTLM 身份验证的负载平衡,必须为托管基于 NTLM 的应用程序的服务器池禁用 TCP 多路复用。否则,可能使用通过一个客户端的凭据建立的服务器端连接处理另一个客户端的请求。

      如果 NTLM 在配置文件中已启用并与虚拟服务器相关联,同时在服务器池启用了 TCP 多路复用,则 NTLM 优先。不会对该虚拟服务器执行 TCP 多路复用。但是,如果同一池与另一个非 NTLM 虚拟服务器相关联,则 TCP 多路复用可用于到该虚拟服务器的连接。

      如果客户端使用 HTTP/1.0,则负载平衡器将升级到 HTTP/1.1 协议并设置 HTTP 保持活动状态。基于同一客户端 TCP 连接接收的所有 HTTP 请求都通过单个 TCP 连接发送到相同服务器,以确保不需要重新授权。

    4. 单击确定