您可以为三种 HTTPS 流量类型创建 HTTPS 应用程序配置文件:SSL 直通、HTTPS 卸载和 HTTPS 端到端。为每种 HTTPS 流量类型创建应用程序配置文件的工作流各不相同。

注:
  • NSX 6.4.5 开始,应用程序配置文件类型 (Application Profile Type)下拉菜单中包含可分别用于为这三种 HTTPS 流量类型创建配置文件的单独选项。
  • NSX 6.4.4 和更低版本中,类型 (Type)下拉菜单中仅包含一个 HTTPS 选项。要分别为这三种 HTTPS 流量类型创建配置文件,必须指定相应的配置文件参数。
  • NSX 负载平衡器不支持代理 SSL 直通。
NSX 6.4.5 开始,几个 HTTPS 配置文件参数的 UI 术语发生了一些变化。下表列出了这些变化。
NSX 6.4.4 和更低版本 NSX 6.4.5 和更高版本
虚拟服务器证书 客户端 SSL
池证书 服务器 SSL
下表介绍了三种 HTTPS 流量类型。
表 1. HTTPS 流量类型
HTTPS 流量类型 说明
SSL 直通

允许与 SSL 属性相关的应用程序规则,而不要求在负载平衡器上进行 SSL 终止。

流量模式:客户端 -> HTTPS -> LB(SSL 直通)-> HTTPS -> 服务器。

HTTPS 卸载

发生基于 HTTP 的负载平衡。SSL 在负载平衡器上终止,而在负载平衡器和服务器池之间使用 HTTP。

流量模式:客户端 -> HTTPS -> LB(结束 SSL)-> HTTP -> 服务器。

HTTPS 端到端

发生基于 HTTP 的负载平衡。SSL 在负载平衡器上终止,而在负载平衡器和服务器池之间使用 HTTPS。

流量模式:客户端 -> HTTPS -> LB(结束 SSL)-> HTTPS -> 服务器。

下表介绍了 HTTPS 流量类型中支持的持久性。
表 2. 支持的持久性类型
持久性 说明
源 IP

此持久性类型基于源 IP 地址跟踪会话。

当客户端请求连接到支持源 IP 地址持久性的虚拟服务器时,负载平衡器会检查该客户端之前是否曾建立连接。如果是,则负载平衡器会将客户端返回给同一个池成员。

SSL 会话 ID

在为 SSL 直通流量类型创建配置文件时,可以使用此持久性类型。

SSL 会话 ID 持久性可确保将来自同一客户端的重复连接发送到同一服务器。会话 ID 持久性允许使用 SSL 会话恢复,这可节省客户端和服务器的处理时间。

Cookie

这种持久性类型会插入唯一的 Cookie,以便在客户端首次访问站点时标识会话。

将在后续请求中引用该 cookie,以永久保留到相应服务器的连接。

对于 源 IP (Source IP)SSL 会话 ID (SSL Session ID) 持久性类型,您可以输入持久性到期时间(秒)。持久性默认值为 300 秒(5 分钟)。
切记: 持久性表的大小有限。如果流量很大,较大的超时值可能会导致持久性表很快填满。当持久性表填满时,会删除最早的条目以接受最新条目。
负载平衡器持久性表维护用来记录客户端请求被定向到同一池成员的条目。
  • 如果在超时期限内没有收到来自同一客户端的新连接请求,持久性条目将过期并被删除。
  • 如果在超时期限内收到来自同一客户端的新连接请求,则会重置定时器,并将客户端请求发送到粘滞池成员。
  • 超时期限到期后,新连接请求将被发送到由负载平衡算法分配的池成员。

对于 L7 负载平衡 TCP 源 IP 持久性场景,如果在一段时间内未建立新的 TCP 连接,持久性条目将超时,即使现有的连接仍处于活动状态也是如此。

下表列出了可用于在 SSL 或 TLS 握手期间协商安全设置的已批准密码套件。

表 3. 已批准的密码套件
密码值 密码名称
DEFAULT DEFAULT
ECDHE-RSA-AES128-GCM-SHA256 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
ECDHE-RSA-AES256-GCM-SHA384 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
ECDHE-RSA-AES256-SHA TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
ECDHE-ECDSA-AES256-SHA TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
ECDH-ECDSA-AES256-SHA TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA
ECDH-RSA-AES256-SHA TLS_ECDH_RSA_WITH_AES_256_CBC_SHA
AES256-SHA TLS_RSA_WITH_AES_256_CBC_SHA
AES128-SHA TLS_RSA_WITH_AES_128_CBC_SHA
DES-CBC3-SHA TLS_RSA_WITH_3DES_EDE_CBC_SHA
ECDHE-RSA-AES128-SHA TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
ECDHE-RSA-AES128-SHA256 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
ECDHE-RSA-AES256-SHA384 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
AES128-SHA256 TLS_RSA_WITH_AES_128_CBC_SHA256
AES128-GCM-SHA256 TLS_RSA_WITH_AES_128_GCM_SHA256
AES256-SHA256 TLS_RSA_WITH_AES_256_CBC_SHA256
AES256-GCM-SHA384 TLS_RSA_WITH_AES_256_GCM_SHA384

以下过程介绍了分别为这三种 HTTPS 流量类型创建应用程序配置文件的步骤。

过程

  1. 登录到 vSphere Web Client
  2. 单击网络和安全 (Networking & Security) > NSX Edge (NSX Edges)
  3. 双击一个 NSX Edge
  4. 单击管理 (Manage) > 负载平衡器 (Load Balancer) > 应用程序配置文件 (Application Profiles)
  5. 单击添加 (Add)
    此时将打开 新建应用程序配置文件窗口。
  6. 指定应用程序配置文件参数。

    适用于 SSL 直通 (SSL Passthrough)流量类型的步骤。

    NSX 版本 过程
    6.4.5 和更高版本
    1. 应用程序配置文件类型 (Application Profile Type)下拉菜单中,选择 SSL 直通 (SSL Passthrough)
    2. 输入配置文件的名称。
    3. 选择持久性类型。
    4. 输入持久性到期时间。
    5. 单击添加 (Add)
    6.4.4 和更低版本
    1. 输入配置文件的名称。
    2. 类型 (Type)下拉菜单中,选择 HTTPS
    3. 选中启用 SSL 直通 (Enable SSL Passthrough)复选框。
    4. 选择持久性类型。
    5. 输入持久性到期时间。
    6. 单击确定 (OK)

    适用于 HTTPS 卸载 (HTTPS Offloading)流量类型的步骤。

    NSX 版本 过程
    6.4.5 和更高版本
    1. 应用程序配置文件类型 (Application Profile Type)下拉菜单中,选择 HTTPS 卸载 (HTTPS Offloading)
    2. 输入配置文件的名称。
    3. 输入要将 HTTP 流量重定向到的 URL。
    4. 选择持久性类型。
      • 对于 Cookie 持久性,输入 Cookie 名称并选择插入 Cookie 的模式。有关每个 Cookie 模式的说明,请参见创建 HTTP 应用程序配置文件
      • 对于源 IP 持久性,输入持久性到期时间。
    5. 可选:要标识通过负载平衡器连接到 Web 服务器的客户端的源 IP 地址,请启用插入 X-Forwarded-For HTTP 标头 (Insert X-Forwarded-For HTTP header)选项。
    6. 单击客户端 SSL (Client SSL) 选项卡。
    7. 选择要在 SSL 握手期间使用的一个或多个加密算法或密码套件。请确保批准的密码套件包含大于或等于 1024 位的 DH 密钥长度。
    8. 指定是忽略还是需要客户端身份验证。如有必要,客户端必须在请求或握手取消后提供证书。
    9. 选择配置文件必须用来在负载平衡器上终止来自客户端的 HTTPS 流量的所需服务证书、CA 证书和 CRL。
    10. 单击添加 (Add)
    6.4.4 和更低版本
    1. 输入配置文件的名称。
    2. 类型 (Type)下拉菜单中,选择 HTTPS
    3. 按照此表中适用于 NSX 6.4.5 及更高版本的步骤,定义以下应用程序配置文件参数:
      • HTTP 重定向 URL
      • 持久性
      • 插入 X-Forwarded-For HTTP 标头
    4. 单击虚拟服务器证书 (Virtual Server Certificates)选项卡。
    5. 按照此表中适用于 NSX 6.4.5 及更高版本的步骤,定义密码算法和客户端身份验证:
    6. 单击配置服务证书 (Configure Service Certificates),然后选择配置文件在负载平衡器上终止来自客户端的 HTTPS 流量时必须使用的所需服务证书、CA 证书和 CRL。
    7. 单击确定 (OK)

    适用于 HTTPS 端到端 (HTTPS End-to-End)流量类型的步骤。

    在此应用程序配置文件类型中,需指定客户端 SSL(虚拟服务器证书)参数和服务器 SSL(池端 SSL)参数。

    服务器 SSL 参数用于对服务器端的负载平衡器进行身份验证。如果 Edge 负载平衡器已经配置了 CA 证书和 CRL,并且负载平衡器需要验证后端服务器的服务证书,则选择服务证书。如果后端服务器需要验证负载平衡器服务证书,还可以向后端服务器提供负载平衡器证书。

    NSX 版本 过程
    6.4.5 和更高版本
    1. 应用程序配置文件类型 (Application Profile Type)下拉菜单中,选择 HTTPS 端到端 (HTTPS End-to-End)
    2. 输入配置文件的名称。
    3. 按照此表中用于创建 HTTPS 卸载配置文件的步骤,定义以下应用程序配置文件参数:
      • HTTP 重定向 URL
      • 持久性
      • 插入 X-Forwarded-For HTTP 标头
      • 客户端 SSL:密码算法、客户端身份验证、服务证书、CA 证书和 CRL
    4. 单击服务器 SSL (Server SSL) 选项卡,然后选择密码算法、所需的服务证书、CA 证书和 CRL,以对服务器端的负载平衡器进行身份验证。
    5. 单击添加 (Add)
    6.4.4 和更低版本
    1. 输入配置文件的名称。
    2. 类型 (Type)下拉菜单中,选择 HTTPS
    3. 按照此表中用于创建 HTTPS 卸载配置文件的步骤,定义以下应用程序配置文件参数:
      • HTTP 重定向 URL
      • 持久性
      • 插入 X-Forwarded-For HTTP 标头
      • 虚拟服务器证书:密码算法、客户端身份验证、服务证书、CA 证书和 CRL
    4. 选中启用池端 SSL (Enable Pool Side SSL) 复选框以在负载平衡器和后端服务器之间启用 HTTPS 通信。
    5. 选择加密算法及所需的服务证书、CA 证书和 CRL,以对服务器端负载平衡器进行身份验证。
    6. 单击确定 (OK)