问题:怎么样一个tomcat上配置多https域名来访问一个项目或者分别访问不同的项目
tomcat版本:Tomcat8.5.24
系统:centOS7.3 64位
一、多个https访问同一个项目
在tomcat/conf/ 目录下创建cert文件夹 用户存放证书文件
命令:mkdir cert
server.xml 配置
1、pfx配置方式
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" defaultSSLHostConfigName="***.cn" >
<SSLHostConfig hostName="****.cn">
<Certificate certificateKeystoreFile="/opt/tomcat-api/conf/cert/****.pfx" certificateKeystorePassword="证书密码" certificateKeystoreType="PKCS12"/>
</SSLHostConfig>
<SSLHostConfig hostName="two.****.cn">
<Certificate certificateKeystoreFile="/opt/tomcat-api/conf/cert/****.pfx" certificateKeystorePassword="证书密码" certificateKeystoreType="PKCS12" />
</SSLHostConfig>
</Connector>
1、jks配置方式
<Connector port="443" protocol="org.apache.coyote.http11.Http11Nio2Protocol" defaultSSLHostConfigName="****.cn" maxThreads="150" SSLEnabled="true" >
<SSLHostConfig hostName="****.cn">
<Certificate certificateKeystoreFile="/opt/tomcat-api/conf/cert/证书名称.jks" certificateKeystorePassword="证书密码" type="RSA" />
</SSLHostConfig>
<SSLHostConfig hostName="tow.****.cn">
<Certificate certificateKeystoreFile="/opt/tomcat-api/conf/cert/证书名称.jks" certificateKeystorePassword="证书密码" type="RSA" />
</SSLHostConfig>
</Connector>
注意:hostName 赋值为不带https的域名
<Host name="****.cn" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
<Host name="two.****.cn" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
注意:appBase 对应的是每个应用