单个Tomcat配置多个域并配置多个证书
????? 近日,帮一个朋友配置一台服务器,在该服务器上启动一个Tomcat运行两个应用,分别对应两个域名: www.domain1.com?和 www.domain2.cn ,对于http协议(80端口),只要配置Tomcat的虚拟主机就可以了。
????? 但朋友为了数据的安全性,分别为每个域名购买了一个CA证书。这就要求在一个Tomcat上配置两个证书。在网上搜了好久,没见有相同的案例。只查到有人说了两种办法:
一、两个域名使用不同的HTTPS端口,比如:www.domain1.com使用443端口,www.domain2.cn 使用8443端口,这种方式对于测试可以,但用于生产环境,要求普通用户在输入地址时还要输入端口8443,不方便不说,有些用户还不懂。所以这种方案只能暂时放弃。
二、使用两个公网IP,每个域名对应一个IP,这样就可以使每个域名都使用443作为HTTPS的端口,方便用户使用。但没有查到实际的配置案例。
????? 既然没有案例,那就自己动手,开始尝试。经过N次尝试之后,终于配置成功。为了防止忘记,也为了方便别人,把配置文件贴出来。为了减少篇幅,把大部分注释删除了。
?
?注意两个Port="443"的Connector配置,最后面的address参数是关键,如果不加address,那么Tomcat将会报错,说443端口已被使用。其他的配置信息,网络上都能找到例子或说明,就不多做说明了。