我們在學習一個新東西時,往往會遇到這樣那樣的障礙,讓人嘗試它的興趣減少,特別是個人用戶(不像公司那樣有各種資源),一些硬性的指標,我們不太好達到,就只能停留下來了。
就比如,你在開發微信小程序時遇到如下錯誤:
繼上一篇《微信小程序開發系列之Hello World》,我們可以簡單的上手了,你可以通過微信開發文檔上的組件(表單、導航、媒體組件等)來實現相對複雜的界面。
但是,我們總會說,一個不與數據庫、服務器打交道的應用(網站),是一個沒有靈魂的軀殼,花拳繡腿而已(說的也不盡然,此處這麼說,只是要側重主題,望見諒)。
我們都知道IOS已經全面要求HTTPS的請求了,Chrome也強烈趨向HTTPS的網站,這一切的表示都是好的,畢竟明文傳輸的HTTP,已經滿足不了人們對安全意識的需求了。
因此,我們在開發微信小程序時,想要獲取服務器數據,進行展示,就需要HTTPS API接口。我們先看一下官方的規定:
wx.request 發起的是HTTPS請求;
HTTPS的url中不能有端口;
HTTPS服務器的TLS版本支持1.2及以下版本。(這個很重要)
wx.request使用示例:
通過上邊代碼,可以看出很類似jQuery的Ajax。
要解決HTTPS的問題,我們需要:
1、註冊域名、找空間
你可以到一級域名商或者代理域名商那裡去註冊個,一般一年65元左右,還是挺便宜的。
空間的話,可以找個免備案的(目前,域名接入國內空間都需要備案的,備案需要本人去)空間,比如:香港主機-ASP.NET空間,一年200元左右吧。(這裡假定你會的後臺語言是.NET)
2、申請免費的HTTPS證書
我們需要一個SSL證書(一個加密簽名的證件),來綁定到域名上,我們以IIS服務器為例如下綁定:
目前大部分獲取免費證書的途徑是通過Let's Encrypt來獲得。
什麼是Let's Encrypt?
它是一個免費的,自動的,開放的證書頒發機構。每次生成的證書有限期是90天,過期前重新生成一個即可。
具體的使用方法,目前網上有很多說明,這裡就不在累述(如有需要,會另開一篇文章來介紹)。
下邊是Windows下針對IIS服務器,生成的.pfx個人證書(藉助了:ACMESharp,它表示c#版的Let's Encrypt)。
最後,需要到微信公眾平臺(小程序)上,設置合法的域名,如下所示:
針對,開頭說的那個錯誤:小程序需要TLS大於等於1.2的問題,例如Windows IIS,需要註冊表開啟TLS1.2。
至此,就簡單介紹完了,難道就是獲取HTTPS證書的問題,可以買個,比較方便,作為程序員的我們,如果能通過技術方法,得到免費的證書,也不失為一件有益的事。
你在嘗試的過程中有什麼問題,也歡迎評論交流。
如果本文對你有點幫助,那麼請關注我吧,求關注,求點贊,求轉發!!!