一尘不染

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

tomcat

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

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

有人在这方面有更多经验吗?


阅读 210

收藏
2020-06-16

共1个答案

一尘不染

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

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

一种解决方法是使用支持多个主机名的单个证书。执行此操作的首选方法是拥有带有多个“使用者备用名称”(SAN)条目的证书。否则,如果该名字具有图案,通配符证书可以是适当的(例如*.example.comwww.example.comsecure.example.com)。

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

2020-06-16