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

应用程序配置文件定义特定网络流量类型的行为。关联的虚拟服务器会根据应用程序配置文件中指定的值处理网络流量。Fast TCP、Fast 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. 从浏览器中,使用管理员特权登录到 NSX Manager,网址为 https://<nsx-manager-ip-address>。
  2. 选择网络 > 负载均衡 > 配置文件 > 应用程序 > 添加应用程序配置文件
  3. 选择Fast TCP 应用程序配置文件,然后输入配置文件详细信息。
    您也可以接受 Fast TCP 配置文件的默认设置。
    选项 说明
    名称和说明 输入 Fast TCP 应用程序配置文件的名称和描述。
    闲置超时 输入在建立 TCP 连接后服务器可以保持闲置的时长(秒)。

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

    HA 流量镜像 切换该按钮可将发往关联虚拟服务器的所有流量镜像到 HA 备用节点。
    连接关闭超时 输入在关闭 TCP 连接之前 FIN 或 RST 必须为应用程序保持该连接的时间(秒)。

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

    标记 输入标记可使搜索变得更容易。

    可以指定一个标记以设置标记的范围。

  4. 选择Fast UDP 应用程序配置文件,然后输入配置文件详细信息。
    您也可以接受 UDP 配置文件的默认设置。
    选项 说明
    名称和说明 输入 Fast UDP 应用程序配置文件的名称和描述。
    闲置超时 输入在建立 UDP 连接后服务器可以保持闲置的时长(秒)。

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

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

    HA 流量镜像 切换该按钮可将发往关联虚拟服务器的所有流量镜像到 HA 备用节点。
    标记 输入标记可使搜索变得更容易。

    可以指定一个标记以设置标记的范围。

  5. 选择 HTTP 应用程序配置文件,然后输入配置文件详细信息。
    您也可以接受 HTTP 配置文件的默认设置。

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

    选项 说明
    名称和说明 输入 HTTP 应用程序配置文件的名称和描述。
    闲置超时 输入 HTTP 应用程序可以保持闲置的时长(秒),而不是必须在 TCP 应用程序配置文件中配置的 TCP 套接字设置。
    请求标头大小 指定用于存储 HTTP 请求标头的最大缓冲区大小(字节)。
    响应标头大小

    指定用于存储 HTTP 响应标头的最大缓冲区大小(字节)。默认值为 4096,最大值为 65536。

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

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

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

    请求正文大小 输入用于存储 HTTP 请求正文的缓冲区最大大小值。

    如果未指定大小,则请求正文大小不受限制。

    重定向
    • 无 - 如果网站暂时关闭,用户将收到“未找到页面”错误消息。
    • 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,则必须使用负载均衡规则。

    NTLM 身份验证 切换该按钮可使负载均衡器关闭 TCP 多路复用并启用 HTTP 保持活动状态。

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

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

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

    标记 输入标记可使搜索变得更容易。

    可以指定一个标记以设置标记的范围。