网上的各种教程都是在要么配多tomcat,要么tomcat里配多IP,这样就可以有多个443端口,导致我一度认为实在是没有办法配单tomcat单SSL证书了.但是我之前知道nginx可以配置多SSL证书,我就去查了一下,原来原理是打开SNI设置,那么tomcat支不支持呢?经过查证,8.5以上的版本也支持SNI,这就很开心了(8.5以下是实在没有办法了,要不然你们升级tomcat版本跟我这个教程走,要不然再配一个nginx,请求先走ngnix代理一下)
做个笔记下次参考
参考下面关键代码设置即可
<Connector port="443" protocol="org.apache.coyote.http11.Http11Nio2Protocol" defaultSSLHostConfigName="www.aaa.com"
maxThreads="150" SSLEnabled="true" >
<SSLHostConfig hostName="www.aaa.com">
<Certificate certificateKeystoreFile="cert/aaa.jks" certificateKeystorePassword="password1" type="RSA" />
</SSLHostConfig>
<SSLHostConfig hostName="www.bbb.com">
<Certificate certificateKeystoreFile="cert/bbb.jks" certificateKeystorePassword="password2" type="RSA" />
</SSLHostConfig>
</Connector>
<Host name="www.aaa.com" appBase="webapps" unpackWARs="true" autoDeploy="true"><Context path="" docBase="aaa" reloadable="true" debug="0" /></Host>
<Host name="www.bbb.com" appBase="webapps" unpackWARs="true" autoDeploy="true"><Context path="" docBase="bbb" reloadable="true" debug="0" /></Host>