在单个tomcat实例中使​​用多个SSL证书

Nic*_*men 5 ssl tomcat

我知道tomcat可以通过设置多个连接器监听不同的IP来处理多个SSL证书,但是可以在同一个IP上进行设置吗?

情况是我们在一个tomcat实例中运行多个Web应用程序.我们的服务器只有1个静态IP.Tomcat设置为具有虚拟服务器,因此根据域提供不同的应用程序.但是,如果我们想要更多这些应用程序中的SSL,我预测我们可能会遇到麻烦.

有没有人在这个领域有更多的经验?

Bru*_*uno 5

为了能够在同一IP地址和端口上使用多个证书,您需要服务器名称指示支持.不幸的是,这是在Java 7中引入的,仅在客户端.

(在客户端支持SNI仍然存在问题,最明显的原因是因为在Win XP,Java 6及更低版本以及某些移动浏览器上缺少任何IE版本的支持.)

解决方法是使用支持多个主机名的单个证书.执行此操作的首选方法是拥有包含多个主题备用名称(SAN)条目的证书.否则,如果名称具有模式,则通配符证书可能是合适的(例如,*.example.com用于www.example.comsecure.example.com).

Apache Httpd支持SNI,因此您可以通过对要VirtualHost提供的每个主机名使用distinct s 来解决问题,并使用反向代理为每个主机使用不同的Tomcat配置.