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

tomcat配置https

準備工做

下載好證書文件,下載的時候能夠選擇爲tomcat文件。我這下載下來是壓縮包。解壓後就是下圖的樣子。

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

第一步

在Tomcat的目錄下,建立一個文件夾,我這文件名是cert,將下載好的證書解壓後複製到這個文件夾裏面。Tomcat支持PFX格式和JKS兩種格式的證書,您可根據您Tomcat的版本擇其中一種格式的證書安裝到Tomcat上。很明顯我下載下來的文件都不包含以上兩種文件,因此須要咱們本身轉爲pfx文件或者jks文件,這兩種文件都支持,選其一便可。
到cert目錄下執行以下命令完成PFX格式轉換命令,此處要設置PFX證書密碼,請牢記:java

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

其中的文件名能夠自定義。
這個命令執行完成後能夠生成.pfx文件。小程序

第二步

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

<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的寫法參考以下:tomcat

<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再進行測試就行了。微信

相關文章
相關標籤/搜索