对tomcat只是停留在使用配置阶段,原理并不了解,所以遇到麻烦的问题,还是花了很多时间解决,所以在此记录一下
首先我用的是一个tomcat ,本来是打算用两个tomcat 两个项目 对应两个域名,但是80端口被占用怎么也没办法弄第二个项目,这里应该可以用nginx做反向代理,但是着急上线并没有测试
配置如下:
<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
配置80端口可以直接通过域名访问,不用加端口
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" defaultSSLHostConfigName="www.test1.cn" >
<SSLHostConfig hostName="www.test1.cn">
<Certificate certificateKeystoreFile="/home/key_https/Tomcat/www.hemingsheng.cn.jks" certificateKeystorePassword="这里填txt文件中的密码" type="RSA"/>
</SSLHostConfig>
<SSLHostConfig hostName="www.test2.cn">
<Certificate certificateKeystoreFile="/home/key_https/Tomcat/www.tinger.wang.jks"
certificateKeystorePassword="这里填另一个txt文件中的密码" type="RSA" />
</SSLHostConfig>
</Connector>
配置443 https , 需要配置两个域名的密钥验证
<Host name="www.test1.cn" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Context path="" docBase="这里配置第一个项目的路径" debug="0" reloadable="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="www.test2.cn" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Context path="" docBase="这里配置第二个项目的路径" reloadable="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>
以上都配置完之后启动,我擦 并不像你想的, 并没有启动成功
会抛unable to register MBean 异常
在SpringBoot项目中配置文件加上
spring.jmx.enabled=false
解决,具体原因还没研究....