1. 程式人生 > >為微信小程式配置服務端,升級網站為https

為微信小程式配置服務端,升級網站為https

小程式要求服務端的域名必須是https,並且TLS 必須支援 1.2 及以上版本;所以需要給網站安裝SLL證書。

本人環境:
阿里雲Linux伺服器
tomcat8
jdk1.8

一、申請阿里雲得免費CA證書:

二、安裝證書:

Tomcat支援JKS格式證書,從Tomcat7開始也支援PFX格式證書,兩種證書格式任選其一。
檔案說明:
1. 證書檔案xxxxx.pem,包含兩段內容,請不要刪除任何一段內容。
2. 如果是證書系統建立的CSR,還包含:證書私鑰檔案 xxxx.key、PFX格式證書檔案xxxx.pfx、PFX格式證書密碼檔案pfx-password.txt。

1、證書格式轉換

在Tomcat的安裝目錄下建立cert目錄,並且將下載的全部檔案拷貝到cert目錄中。如果申請證書時是自己建立的CSR檔案,附件中只包含xxxx.pem檔案,還需要將私鑰檔案拷貝到cert目錄,命名為xxxx.key;如果是系統建立的CSR,請直接到第2步。
到cert目錄下執行如下命令完成PFX格式轉換命令,此處要設定PFX證書密碼,請牢記:
openssl pkcs12 -export -out xxxx.pfx -inkey xxxx.key -in xxxx.pem

2、PFX證書安裝

找到安裝Tomcat目錄下該檔案server.xml,一般預設路徑都是在 conf 資料夾中。找到 <Connection port=”8443”標籤,增加如下屬性:
keystoreFile="cert/xxxx.pfx"
keystoreType="PKCS12"


此處的證書密碼,請參考附件中的密碼檔案或在第1步中設定的密碼
keystorePass=”證書密碼”
完整的配置如下,其中port屬性根據實際情況修改:
<Connector port="8443"
protocol="HTTP/1.1"
SSLEnabled="true"
scheme="https"
secure="true"
keystoreFile="cert/xxxx.pfx"
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"/>

3、JKS證書安裝

( 1 ) 使用java jdk將PFX格式證書轉換為JKS格式證書(windows環境注意在%JAVA_HOME%/jdk/bin目錄下執行)
keytool -importkeystore -srckeystore xxxx.pfx -destkeystore
your-name.jks -srcstoretype PKCS12 -deststoretype JKS

回車後輸入JKS證書密碼和PFX證書密碼,強烈推薦將JKS密碼與PFX證書密碼相同,否則可能會導致Tomcat啟動失敗。
( 2 ) 找到安裝 Tomcat 目錄下該檔案Server.xml,一般預設路徑都是在 conf 資料夾中。找到 <Connection port=”8443”標籤,增加如下屬性:
keystoreFile="cert/your-name.jks"
keystorePass="證書密碼"

完整的配置如下,其中port屬性根據實際情況修改:
<Connector port="8443"
protocol="HTTP/1.1"
SSLEnabled="true"
scheme="https"
secure="true"
keystoreFile="cert/your-name.jks"
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"/>

4、 重啟 Tomcat。

5、 通過 https 方式訪問您的站點,測試站點證書的安裝配置

注意和一些說明的地方:
1、tomcat和java版本必須是7以上,不然TLS版本只能是1.0,微信小程式還是不能使用
2、可以使用https://www.ssllabs.com/ssltest/analyze.html 測試網站支援的TLS協議版本,測試結果如下:
這裡寫圖片描述
3、阿里雲伺服器不支援8443埠,但支援443埠,需要在阿里雲中開啟443埠,即設定安全組規則
這裡寫圖片描述

參考