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>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM