我有一个Apache网络服务器,它运行多个具有不同证书和SNI的TLS虚拟主机。我可以使用curl访问各种虚拟主机(大概是SNI使它工作)。我也可以使用一个基本上只是URL上的openConnection()的小命令行Java程序来访问它们。在我的Tomcat应用程序中,基本相同的客户端代码访问与客户端相同的Apache服务器,但总是以默认证书(defaulthost.defaultdomain)而不是在它尝试访问的URL。(这会产生一个SunCertPathBuilderException——基本上它无法验证证书的证书路径,这当然是正确的,因为它是一个非官方证书。但是无论如何都不应该