NSX Advanced Load Balancer 支持在 NSX Advanced Load Balancer 上的应用程序日志中捕获 SSL 客户端的密码详细信息。它在客户端 Hello SSL 数据包中记录客户端发送的密码。用于与虚拟服务建立 SSL 连接的密码详细信息位于应用程序日志中。

“无共享密码”错误

在客户端使用不支持的密码时,虚拟服务关闭连接,并在应用程序日志中显示无共享密码错误。以下是导致无共享密码错误的原因:

  • 在虚拟服务的 SSL 配置文件中未配置客户端发送的密码。

  • 客户端发送的密码与虚拟服务上的证书身份验证类型不匹配。

    • 例如,在虚拟服务仅配置了 RSA 证书时,客户端发送 ECDSA 密码。

  • 客户端发送的密码与 SSL/TLS 协议不匹配。

    • 例如,在虚拟服务没有启用 TLS1.2 协议时,客户端发送 AES256-GCM-SHA394 TLS 1.2 密码(即使 SSL 配置文件启用了该密码)。

在出现任一此类问题时,最好将客户端发送的密码显示为客户端 hello 的一部分。可以对虚拟服务或客户端配置进行必要的更改以解决该问题。

客户端在客户端 Hello 中发送 180-200 之间的任何密码,并且服务器选择其中的一个密码。

选择的密码取决于虚拟服务上的各种因素,例如启用的密码和协议、配置的证书类型,等等。在虚拟服务无法选择单个密码时,SSL 连接将失败并显示以下错误:SSL 错误:无共享密码 (SSL Error: No Shared Cipher)。在这种情况下,NSX Advanced Load Balancer 在应用程序日志中记录客户端发送的所有密码。

访问客户端的密码列表

可以通过应用程序日志的 REST API 请求访问客户端的密码列表。可以使用应用程序日志中的 client_cipher_list 字段检查指定和未指定的密码(在此处添加位置)。

可以根据客户端发送的密码对虚拟服务或客户端配置进行必要的更改以修复 no shared ciphers SSL 错误。