微信小程式開發之SSL證書相關問題
最重要的放最上面:阿里雲CDN 使用的是 Nginx (.crt為證書,.key為私鑰)
阿里雲證書格式說明地址
ssl證書其實本站有很多相關的文章,但是沒有針對ssl證書做過專門的說明,最近發現,還是有很多同學,困擾在這個地方;所以特整理一些有用的知識放在這裡。
如何認定自己有證書問題:
開發工具內–專案內–開啟不檢驗域名
可以獲取資料
關閉則不可以獲取資料
在這時,可以檢視報錯資訊,其中包含證書、tls版本等出錯的資訊,以此來判斷自己是哪方面的問題
目前發現的可能由ssl證書問題導致的問題:
##
1:上傳:無法上傳upload
2:登入:無法登入
3:開啟檔案:使用開啟檔案的api(wx.openDocument)無法開啟檔案,已經確認使用開啟檔案的api時,使用網路地址的檔案地址時必須使用符合規範的https;
4:請求網路:使用request無法請求網路;
可能出現的相關錯誤:
errMsg: “request: fail ssl hand shake error”
正在嘗試連線一個錯誤的證書或者假裝的地址
此伺服器的證書無效你使用的是自籤的證書
tsl需支援1.2以上
目前提供免費證書的雲:(有這樣的案例:用阿里雲怎麼檢測都正確,但是就是有問題,後來換了騰訊雲搞定)
特別說明:
一般免費證書只支援單域名,不支援多域名或泛域名;
比如xcx.XXXX.xyz域名,你必須為xcx.XXXX.xyz申請證書,而不能為XXXX.xyz申請證書;假如你申請了XXXX.xyz,可能會報域名與證書不匹配的錯誤:
比如你使用了www.js123.com的域名,就必須為www.js123.com申請證書,而不能為js123.com申請證書;
ssl證書基礎知識:
通常來說,SSL 證書分為三大類,他們的安全性是遞增的,當然價格和安全係數成正比。
DV (Domain Validation Certificate) DV 證書適合個人網站使用,申請證書時,CA 只驗證域名資訊。幾分鐘之內就能簽發。
OV ( Organization Validation Certificate) OV 證書需要認證公司的資訊。1-2天簽發。
EV ( Extended Validation Certificate) EV 證書的認證最為嚴格,一般會要求提供紙質材料。簽發時間也較久。
常見問題的可能性:
1:伺服器不支援tsl1.0,1.1,1.2,導致提升,tsl需支援1.2;(微信小程式開發時伺服器如何支援tls1.2?)
2:伺服器缺少中間證書,需要安裝中間證書;(你是如何解決伺服器缺失中間證書(中級證書)問題的?)
3:證書不受信任:蘋果支援的證書列表:https://support.apple.com/zh-cn/HT204132
如何排除是否還有證書問題:
1:至少使用以上兩個檢測連結,全部通過;
2:使用微信瀏覽器開啟介面,看是否有資料,微信瀏覽器內有資料,則可排除是ssl證書問題,證明證書是受微信瀏覽器認可的;
3:在小程式內列印介面資料,假如可以打印出資料,但是沒有渲染,則可排除是證書問題,請檢視其它問題;
特別提示:證書問題,似乎無法通過工具內開啟不檢驗域名及tsl版本(同時手機上開啟除錯)來臨時規避!(假如我描述有誤,歡迎指出!)
如果本帖,沒有解決你的問題,請在這裡回覆確定問題;