微信小程序開發之https從無到有

原文連接:www.devsai.comphp

本篇不講什麼是https,什麼是SSL,什麼是nginxnginx

想了解這些的請繞道,相信有不少優秀的文章會告訴你。web

本篇要講的在最短的時間內,讓你的網站從http升級到https。小程序

開始教程前再說一句:https你值得擁有。微信小程序

原由

最近段時間,微信小程序爆火,消息一出,各路豪傑,摩拳擦掌,躍躍欲試。瀏覽器

都想這個坑(這裏很少闡述,具體坑不坑,developer最清楚)裏跳。微信對小程序也是有諸多的限制。微信

例如文件大小,請求服務端必須是https。 session

文件大小,好辦,開發過程當中儘可能的控制文件,能複用的儘可能複用。用不到的文件儘可能不引用。本地的圖片也儘可能的少。app

可https,在國內線上用https的都不算多,更況且是開發過程當中用https,應該就更少了吧。運維

若是你正在開發微信小程序,並尚未https,那麼巧了,那麼我想,這篇可能能夠幫到你。

StartSSL免費SSL證書

都說了是開發用(若是到了線上,想要https,相關的運維人員會搞定收費的https),那固然要用免費的。

StartSSL就是個不錯的選擇。

StartSSL

StartSSL是StartCom公司旗下的SSL證書,提供免費SSL證書服務而且被主流瀏覽器支持的免費SSL,包括Chrome、Firefox、IE等瀏覽器均可以正常識別StartSSL,更主要的是StartSSL提供免費3年且能夠無限續期的SSL證書,並且能夠設置10個域名。

StartSSL註冊、登陸

1 進入註冊頁面

進入www.startssl.com/SignUp

2 註冊很簡單隻須要填個郵箱發送驗證碼

3 而後填入得到的驗證碼,點擊按鈕後會跳轉至設置密碼

4 註冊成功後,會讓你下載用於登陸的證書,由於該網站提供了兩種登陸方式,客戶端證書認證和郵箱登陸(填寫郵箱,得到驗證碼登陸),我的感受使用郵箱也很方便。

申請免費的SSL

1 先添加驗證域名,選擇選項卡的Validations Wizard,並選擇Domain Validation (for SSL certificate)
點擊Validation

2 填入域名,並在域名全部者郵箱(或域名對應的企業郵箱)中獲取發送的驗證碼

3 添加的域名驗證成功,點擊To "Order SSL Certificate "

4 如今能夠開始給本身的域名申請StartSSL免費SSL證書了,這裏添加用於申請證書的完整的域名

5 申請StartSSL免費SSL時,會要求填入CSR

6 CSR 生成能夠有兩種方式,一種是使用StartSSL提供的[StartComTool.exe](https://download.startpki.com/startcom/startcomtool.exe)適用於Window,另外一種方式也可使用openssl命令,適用於Mac,liunx等。

openssl req -newkey rsa:2048 -keyout yourname.key -out yourname.csr複製代碼

7 把生成的(youname.csr)CSR簽名證書請求內容,粘貼進去

8 而後StartSSL就能夠免費SSL下載使用

下載免費的SSL

下載下來的SSL是zip格式的壓縮包,解壓後有以下內容

分別提供了幾種web服務所需的ssl認證文件

nginx SSL配置

這裏只拿nginx舉例,編輯nginx配置文件

listen       443;
ssl     on;
ssl_certificate /usr/local/nginx/conf/key/xxx.pem;
ssl_certificate_key /usr/local/nginx/conf/key/xxx.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers   EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_session_cache          shared:SSL:50m;複製代碼

xxx.pem就是從StartSSL下載下來的NginxServer.zip中的文件xxx_bundle.crt(須要把後綴改爲pem)

xxx.key 這是以前執行 openssl req -newkey rsa:2048 -keyout yourname.key -out yourname.csr時生成的key.

而後啓動nginx ,輸入密碼(該密碼是生成本地CSR時設置的)

大功告成

到這來,就可使用https了,立刻打開你的域名試試吧。

其實在網上也能找到不少StartSSL的申請流程。可大多都是以前的,界面與操做方式都有所改變。這篇提供了最新的StartSSL申請流程,以幫助你們更快的進行SSL認證。

看以前的教程,會告訴你,在第7步後不能立刻下載SSL認證,StartSSL會有個客服審覈的過程可能須要幾小時,但如今的使用下來發現,如今已經沒有這過程了,完成第7步就能夠去認證的列表下載SSL認證。

微信小程序請求 wx.request :fail

本文的目的是爲了微信小程序請求能使用https

因此,最後若是在調用微信wx.request接口時仍是報錯,能夠參考這篇尋找解決之法。

相關文章
相關標籤/搜索