微信小程序开发之https从无到有
本篇不講什么是https,什么是SSL,什么是nginx
想了解這些的請繞道,相信有很多優秀的文章會告訴你。
本篇要講的在最短的時間內,讓你的網站從http升級到https。
開始教程前再說一句:https你值得擁有。
百牛信息技術bainiu.ltd整理發布于博客園
起因
最近段時間,微信小程序爆火,消息一出,各路豪杰,摩拳擦掌,躍躍欲試。
都想這個坑(這里不多闡述,具體坑不坑,developer最清楚)里跳。微信對小程序也是有諸多的限制。
例如文件大小,請求服務端必須是https。
文件大小,好辦,開發過程中盡量的控制文件,能復用的盡量復用。用不到的文件盡量不引用。本地的圖片也盡量的少。
可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 進入注冊頁面
進入https://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接口時還是報錯,可以參考這篇尋找解決之法。
轉載于:https://www.cnblogs.com/bainiu/p/7680894.html
總結
以上是生活随笔為你收集整理的微信小程序开发之https从无到有的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Python】学习笔记五:缩进与选择
- 下一篇: 单线程实现并发——协程,gevent模块