小程序正式上線服務器端是需要https支持的,購買云服務器好像可以支持一鍵配置,就省去了很多麻煩。
如果是https手動配置還是挺麻煩的,對于windows服務器,可以參考我之前做的:
使用集成環境完成配置后,運行時,網址是這樣的:
[http://localhost/web/index.php?s=store/passport/login](http://localhost/web/index.php?s=store/passport/login)
(即便使用正式備案域名,也是http://www.XXX.com)
這是沒法滿足小程序https加密協議訪問需求的。
想要域名支持https,就要服務器安裝ssl證書。
網上流傳的比較多的版本是,安裝某國外證書,確實挺高大上的,借助工具還能自動續有效期,但是嘗試過,申請確實需要門檻,英文表單,填起來比較費勁,Linux玩的6的可以,網上有命令,自動就給服務器申請、安裝了,我玩windows比較多(屌絲),所以覺得阿里云、騰訊云的SSL證書還是比較靠譜的,最重要是免費 免費 免費。
下面開始搞(此處以阿里云為例,騰訊云操作類似):
1、登陸阿里云

如圖所示,找到ssl證書申請入口,點“立即購買”,然后大吃一斤

這么貴,還玩個雞毛。。。然鵝,當然有免費的了,只是阿里套路深,隱藏比較深,看下圖

品牌這里選“Symantec”也就是賽門鐵克(出卡巴斯基那個公司?)

然后點上面2那個位置,神奇的一幕出現了


OK,點擊“立即購買”免費申請吧,到支付那一步驟,會自動支付成功的。
2、證書申請提交以后,有一個補錄信息,需要把你要保護的網站域名填寫上,注意了,這個務必填寫正確,一經提交無法修改,而且免費的證書一般不支持子域名。提交后,還需要阿里云后臺審核,一般1個小時左右就會審核通過,生成證書。
3、證書簽發后是這個狀態

這時候,咱們需要點擊“下載”,把證書下載到咱們的服務器,接受ssl的安全保護。
下載的時候,因為我的服務器是phpstudy下面的apache+php組合,所以我選擇證書種類是
apache證書

證書下載下來是一串數字的.zip壓縮包,解壓以后內容如下:

然后根據阿里云證書配置指南,如下圖的指示去操作

4、下面以phpstudy為例進行安裝證書演示(# 良心操作啊,市面上見不到)
根據阿里云的證書安裝指南:先建立cert目錄

然后把剛才解壓出來的證書文件拷貝到這個目錄下
接著打開apache下的conf目錄下的

推薦使用專業編輯器打開(比如:notepadd++),不建議使用記事本、寫字板等打開,容易影響編碼,導致配置文件加載失敗
打開后,使用搜索功能,在全文搜索“
#LoadModule ssl\_module modules/mod\_ssl.so (如果找不到請確認是否編譯過 openssl 插件)
#Include conf/extra/httpd-ssl.conf”
這兩句配置文件
如果搜不到,記得把前面“#”去掉,因為可能配置文件默認已經把#去掉了,找到這個

把前面#去掉,也就是把注釋去掉,讓這一行生效,調用extra目錄下httpd-ssl.conf這個配置文件,這個文件才是真正配置證書的文件
5、打開httpd-ssl.conf后,對照著安裝指南進一步操作,
首先:搜索這個協議支持配置 SSLProtocol all -SSLv2 -SSLv3,發現搜索不到,那就在空白處,把這一句粘貼上
其次:SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM這個發現也沒有,OK,空白處繼續加上
接著:SSLHonorCipherOrder on也沒有,繼續加上嘍
然后:搜索SSLCertificateFile,發現這一個是有的,注意要修改前面不帶#的哪一個

注意,按照阿里云證書安裝指南,可能會報錯,嘗試多次發現,這個證書的路徑,最好是絕對路徑,而不是這種cert/public.pem相對路徑
也就是:SSLCertificateFile "/Apache24/conf/server.crt" 要改成
SSLCertificateFile "D:/phpStudy/Apache/cert/public.pem"
然后:繼續搜索SSLCertificateKeyFile
同樣的,修改前面不帶#哪一個
SSLCertificateKeyFile "/Apache24/conf/server.key"要改成
SSLCertificateKeyFile "D:/phpStudy/Apache/cert/214542853950366.key"
最后:搜索SSLCertificateChainFile,找到
#SSLCertificateChainFile "/Apache24/conf/server-ca.crt"
把前面#去掉,修改成:
SSLCertificateChainFile "D:/phpStudy/Apache/cert/chain.pem"
6、到此,證書安裝就全部完成了,重啟phpstudy的apache應該就可以運行ssl證書了,如果遇到啟動失敗,使用下面方法進行排查(良心之作,記得贊賞哦。。。)
打開cmd命令行,進行如下操作

查看報錯信息,根據報錯信息,一步一步修改,繼續運行,一般到最后都能正常使用。
OK,到此為止,你的服務器域名就支持https嘍,可以愉快地玩耍小程序了。
對于自己的linux服務器,如果使用寶塔面板的話,申請完免費的證書后,按寶塔的指引上傳證書文件就可以了,比較省心。