tomcat配置https以及配置完成后提示服務器缺少中間證書(已解決)


tomcat配置https

准備工作

下載好證書文件,下載的時候可以選擇為tomcat文件。我這下載下來是壓縮包。解壓后就是下圖的樣子。

以.key結尾的文件是證書的key
以.pem結尾的文件是證書文件

第一步

在Tomcat的目錄下,創建一個文件夾,我這文件名是cert,將下載好的證書解壓后復制到這個文件夾里面。Tomcat支持PFX格式和JKS兩種格式的證書,您可根據您Tomcat的版本擇其中一種格式的證書安裝到Tomcat上。很明顯我下載下來的文件都不包含以上兩種文件,所以需要我們自己轉為pfx文件或者jks文件,這兩種文件都支持,選其一即可。
到cert目錄下執行如下命令完成PFX格式轉換命令,此處要設置PFX證書密碼,請牢記:

openssl pkcs12 -export -out 2424966.pfx -inkey 2424966.key -in 2424966.pem

其中的文件名可以自定義。
這個命令執行完成后可以生成.pfx文件。

第二步

找到安裝Tomcat目錄下該文件server.xml,一般默認路徑都是在 conf 文件夾中。找到 <Connection port="xxx"標簽,增加如下屬性,完整的配置如下:(其中port屬性請根據您的實際情況修改)

<Connector port="443"
    protocol="HTTP/1.1"
    SSLEnabled="true"
    scheme="https"
    secure="true"
    keystoreFile="cert/domain name.pfx"  #此處keystoreFile代表證書文件的路徑,請用您證書的文件名替換。
    keystoreType="PKCS12"
    keystorePass="證書密碼"   #請用您證書密碼文件中的密碼替換“證書密碼”。
    clientAuth="false"
    SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"
    ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>

配置完成后重啟tomcat,然后訪問域名進行測試。

jks格式的證書配置方式

使用java jdk將PFX格式證書轉換為JKS格式證書(windows環境注意在%JAVA_HOME%/jdk/bin目錄下執行)
keytool -importkeystore -srckeystore 2424966.pfx -destkeystore your-name.jks -srcstoretype PKCS12 -deststoretype JKS
回車后輸入JKS證書密碼和PFX證書密碼,強烈推薦將JKS密碼與PFX證書密碼相同,否則可能會導致Tomcat啟動失敗。(上面命令中的文件名改為自己的即可)
tomcat配置文件server.xml的寫法參考如下:

<Connector port="443"
    protocol="HTTP/1.1"
    SSLEnabled="true"
    scheme="https"
    secure="true"
    keystoreFile="cert/domain name.jks"  #此處keystoreFile代表證書文件的路徑,請用您證書的文件名替換domain name。
    keystoreType="PKCS12"
    keystorePass="證書密碼"   #請用您證書密碼文件中的密碼替換“證書密碼”。
    clientAuth="false"
    SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"
    ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>

更改完成后保存,重啟tomcat進行測試即可。

進行證書檢測的時候提示服務器缺少中間證書的解決辦法

可以先去這個網站檢測一下配置的https https://www.myssl.cn/tools/check-server-cert.html我這遇到的問題是,網址訪問沒問題,但是放到微信小程序后台服務上,當小程序訪問的時候會出現問題,原因就是服務器缺少中間證書。在安卓環境會出現這種情況,但是在蘋果就沒有,但是還是得解決啊。解決辦法就是在https://www.myssl.cn/tools/downloadchain.html這個網站上按照要求去生成一個中間證書,然后將生成的中間證書的內容粘貼到之前下載好的證書的文件里面。然后按照之前配置https的方法再重新配置一次。然后重啟tomcat再進行測試就好了。


免責聲明!

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



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