tomcat9配置https-pfx


下載tomcat9

wget https://mirrors.bfsu.edu.cn/apache/tomcat/tomcat-9/v9.0.37/bin/apache-tomcat-9.0.37.tar.gz

1.打開Tomcat/conf/server.xml,在server.xml文件中找到以下參數並進行修改。

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

 #找到以上參數,去掉<!- - 和 - ->這對注釋符並修改為如下參數,對HTTPS默認端口進行配置:
 <Connector port="80" protocol="HTTP/1.1"   #將Connector port修改為80。
               connectionTimeout="20000"
               redirectPort="443" />    #將redirectPort修改為SSL默認端口443,讓HTTPS請求轉發到443端口。

<Connector port="8443"
          protocol="org.apache.coyote.http11.Http11NioProtocol"
          maxThreads="150"
          SSLEnabled="true">
        <SSLHostConfig>
            <Certificate       certificateKeystoreFile="cert/keystore.pfx"
             certificateKeystorePassword="XXXXXXX"
                         certificateKeystoreType="PKCS12" />

    #找到以上參數,去掉<!- - 和 - ->這對注釋符並修改為如下參數:

    <Connector port="443"   #將Tomcat中默認的HTTPS端口Connector port 8443修改為443。8443端口不可通過域名直接訪問、需要在域名后加上端口號;443端口是HTTPS的默認端口,可通過域名直接訪問,無需在域名后加端口號。
          protocol="org.apache.coyote.http11.Http11NioProtocol"   #server.xml文件中Connector port有兩種運行模式(NIO和APR),請選擇NIO模式(也就是protocol="org.apache.coyote.http11.Http11NioProtocol")這一段進行配置。
          maxThreads="150"
          SSLEnabled="true">
        <SSLHostConfig>
            <Certificate       certificateKeystoreFile="/usr/local/tomcat/cert/證書域名.pfx"   #此處certificateKeystoreFile代表證書文件的路徑,請用您證書的路徑+文件名替換證書域名.pfx,例如:certificateKeystoreFile="/usr/local/tomcat/cert/abc.com.pfx"
             certificateKeystorePassword="證書密碼"   #此處certificateKeystorePassword為SSL證書的密碼,請用您證書密碼文件pfx-password.txt中的密碼替換,例如:certificateKeystorePassword="bMNML1Df"
             certificateKeystoreType="PKCS12" />   #證書類型為PFX格式時,certificateKeystoreType修改為PKCS12。
        </SSLHostConfig>
    </Connector>
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

    #找到以上參數,去掉<!- - 和 - ->這對注釋符並修改為如下參數:
    <Connector port="8009" protocol="AJP/1.3" redirectPort="443" />  #將redirectPort修改為443,讓HTTPS請求轉發到443端口。




遇到問題

image.png

解決方案

 <Connector port="8009" protocol="AJP/1.3" redirectPort="443" secretRequired=""  />

(可選步驟)在web.xml文件最底部添加以下內容,實現HTTP自動跳轉為HTTPS。

 <security-constraint> 
         <web-resource-collection > 
              <web-resource-name >SSL</web-resource-name>  
              <url-pattern>/*</url-pattern> 
       </web-resource-collection> 
       <user-data-constraint> 
                    <transport-guarantee>CONFIDENTIAL</transport-guarantee> 
       </user-data-constraint> 
    </security-constraint>


免責聲明!

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



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