阿里雲服務器域名http升級爲https訪問,SSL證書下載安裝全流程
目錄
阿里雲服務器域名http升級爲https訪問,SSL證書下載安裝全流程
1.背景
之前公司項目是在阿里雲服務器上面運行,用的是http訪問,項目部署到tomcat上面。最近在要求上線個小程序,要從項目調用接口,但是微信小程序只支持https的訪問,所以面臨一個將http升級爲https的問題。
2.阿里雲下載安裝SSL證書流程
參考資料:https://blog.csdn.net/s_t_ruggle/article/details/80751606
經過查資料發現http升級爲https要在服務器安裝一個SSL證書,阿里雲自己就提供免費的SSL證書,爲期1年的,收費的應該好點。還有其他免費的SSL證書申請方式,自己網上查找,我這邊用的是阿里雲的。
2.1 證書申請
①選擇域名->管理
②點擊完管理以後會出現上圖,有個免費開啓SSL證書,點擊。
③點擊完就出現了上圖,上圖左邊是收費版,右邊是免費版本,有錢選擇左邊,沒錢選擇右邊的免費版,免費版本選擇完以後,下面有個要申請的域名,下面的說明是"填寫*,表示適用於當前網站的所有二級域名",這個*只能在你買的是收費版時候纔可以用,所有如果你是免費版的而且要用到二級域名的話,那麼只能填寫一個二級域名,比如aaa.hao123.com,這樣的格式。填完以後點擊申請就好了。如果需要用到好幾個二級域名,那麼同樣的步驟多申請幾個就好了。
④點擊申請以後出現上面頁面,可以看到未簽發狀態是1,如果沒問題,你點擊此頁的申請,然後跟着走就行了,過幾分鐘刷新一下。正常就通過了,然後可以看到已簽發那裏會有顯示。
⑤已簽發這邊可以看到你剛纔申請的SSL證書,然後點擊下載,在右邊會顯示下載頁面和幫助,幫助裏面是一些安裝介紹,點擊下載會下載倆個文件,如下圖,一個是證書,一個是密碼。
⑥下載完是一個壓縮包,解壓完裏面有倆個文件,後綴pfx的是證書,另一個txt的是證書對應的密碼。
2.2 證書安裝
參考:1.https://help.aliyun.com/knowledge_detail/95496.html?spm=5176.2020520154.cas.24.3f00nCtRnCtRdv阿里雲的安裝幫助文檔,但是我照着他這個沒弄出來。
2.https://blog.csdn.net/z_xuewen/article/details/78176509 配置單個pfx證書
3.https://blog.csdn.net/zzmtkj/article/details/83317601 tomcat配置多個jks證書。
以linux爲例
2.2.1 配置單個pfx證書
配置證書步驟
(1)、解壓下載的證書壓縮包,複製20165323****.pfx和pfx-password.txt兩個文件。
(2)、找到tomcat安裝目錄,進入conf文件夾,新建cert文件,將證書及密碼複製到文件夾下。
(3)、找到server.xml文件,通過修改xml文件對tomcat進行ssl證書配置,複製以下代碼到server.xml文件中
<Connector port="443"
protocol="org.apache.coyote.http11.Http11Protocol"
SSLEnabled="true"
scheme="https"
secure="true"
keystoreFile="cert/20165323****.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"/>
【注】建議默認端口爲443,在protocol中建議使用“org.apache.coyote.http11.Http11Protocol”,這樣對性能有最大的優化。(但是這樣會不支持中文URIEncoding="UTF-8"哦,中文會出現亂碼。建議還是HTTP/1.1)用HTTP證書路徑keystoreFile建議使用絕對路徑,可以確保tomcat對證書的加載正常,證書密碼填寫剛纔pfx-password.txt裏的密碼。
(4)、確認無誤後,保存配置,重啓tomcat。就可以對tomcat服務器進行https://域名的訪問了。
2.2.2 配置多個SSL證書,用JKS證書
示例可以看上面參考文檔3。
由於我微信小程序中使用了多個二級域名,所以需要配置多個SSL。
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" defaultSSLHostConfigName="www.zzmtkj.com.cn">
<SSLHostConfig hostName="www.zzmtkj.com.cn">
<Certificate certificateKeystoreFile="cert/mt/zzmtkj.jks" certificateKeystorePassword="你的密碼" keystoreFile="cert/mt/zzmtkj.jks"
keystorePass="你的密碼" type="RSA" />
</SSLHostConfig>
<SSLHostConfig hostName="www.yujianpalao.com">
<Certificate certificateKeystoreFile="cert/pl/yjpl.jks" certificateKeystorePassword="你的密碼" keystoreFile="cert/pl/yjpl.jks"
keystorePass="你的密碼" type="RSA" />
</SSLHostConfig>
<SSLHostConfig hostName="www.fcrssm.com">
<Certificate certificateKeystoreFile="cert/rs/fsrssm.jks" certificateKeystorePassword="你的密碼" keystoreFile="cert/rs/fsrssm.jks"
keystorePass="你的密碼" type="RSA" />
</SSLHostConfig>
</Connector>
步驟和上面一樣,不一樣的地方就是配置文件裏面的內容,配置多個SSL證書這裏面用到的是jks格式的證書,所以要把之前下載的pfx證書轉化爲jsk證書。轉化方式看下面,也可以看參考文檔1,是阿里雲的官方文檔,裏面也有。
( 1 ) 使用java jdk將PFX格式證書轉換爲JKS格式證書(windows環境注意在%JAVA_HOME%/jdk/bin目錄下執行)
keytool -importkeystore -srckeystore a.pfx -destkeystore a.jks -srcstoretype PKCS12 -deststoretype JKS
我是在我linux下面tomcat中cert文件夾中使用的這個命令轉化的,注意修改命令中的文件名爲自己的證書名字。
這個是我轉化完的文件,運行完那個命令時候會要求填入幾次密碼,最好使用pfx的那個密碼就好了。
這樣配置完以後重新啓動tomcat就可以正常通過https訪問網站頁面了,或者調用對應接口。http和https都可以使用。
如果有幫助,求支持。1分不嫌少^_^