Tomcat配置多个ssl安全证书

关于使用Tomcat8.5配置多个域名和ssl免费证书


首先得有备案域名和服务器
我用的是阿里的ECS,域名自己想法,然后在腾讯、阿里、七牛等平台申请免费ssl证书,这个可以使用一年,到时候需要重新申请,如果不差钱可以直接买多域名的证书,就没有这么麻烦了

找到自己用的证书(我以腾讯申请的为例)
首先把申请好的证书下载下来:

 

 


解压出来:

 

 

这里有几种不同服务容器的证书,我用的是Tomcat,是 .jks结尾的文件

 

 

 

 

 


证书有了,接下来就是配置Tomcat
首先把准备好的证书都放在Tomcat的conf目录下

 

 

进入conf目录下,打开server.xml文件进行配置

复制代码
<!--我这里启用了线程池-->
<Connector executor="tomcatThreadPool" port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               connectionTimeout="20000"
               enableLookups="false"
               maxPostSize="10485760"
               URIEncoding="UTF-8"
               acceptCount="100"
               acceptorThreadCount="2"
               disableUploadTimeout="true"
               maxConnections="10000"
               SSLEnabled="true"
               defaultSSLHostConfigName="wwww.test.a.com"> <!--默认的域名-->
        <SSLHostConfig hostName="wwww.test.a.com">
             <Certificate certificateKeystoreFile="conf/wwww.test.a.com.jks" certificateKeyAlias="wwww.test.a.com"
            certificateKeystorePassword="wwww.test.a.com" 
                         type="RSA" />
        </SSLHostConfig>
         <SSLHostConfig hostName="wwww.test.b.com">
            <Certificate certificateKeystoreFile="conf/wwww.test.b.com.jks" certificateKeyAlias="wwww.test.b.com" <!-- 这是别名-->
            certificateKeystorePassword="wwww.test.b.com"  <!-- 这是在申请域名是设置的密码-->
                         type="RSA" />
        </SSLHostConfig>
    </Connector>
复制代码
复制代码
<Engine name="Catalina" defaultHost="wwww.test.a.com">

      <Realm className="org.apache.catalina.realm.LockOutRealm">
       
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>
        
        <!-- 我这个配置的是两个域名访问相同的资源 webapps 下的所有项目-->
        <Host name="wwww.test.a.com"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
             <Alias>wwww.test.a.com</Alias>  
             <Alias>wwww.test.b.com</Alias>

        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

        </Host>
     
    </Engine>
复制代码
复制代码
 <!-- 这一种相当于开了两个虚拟机  还是访问webapps  下所有项目     不建议使用-->
    <Host name="wwww.test.a.com"  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 &quot;%r&quot; %s %b" />

        </Host>
        <Host name="wwww.test.b.com"  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 &quot;%r&quot; %s %b" />

        </Host>
复制代码
<Host name="wwww.test.a.com"  unpackWARs="true"  autoDeploy="true" 
          xmlValidation="false" xmlNamespaceAware="false">
          <Context path="/" docBase="项目位置"/>
</Host>
<Host name="wwww.test.b.com"  unpackWARs="true"  autoDeploy="true" 
          xmlValidation="false" xmlNamespaceAware="false">
          <Context path="/" docBase="项目位置"/>
</Host>

 

posted @   Ferocious  阅读(1029)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示