微信小程序开发之https从无到有
本篇不講什么是https,什么是SSL,什么是nginx
想了解這些的請(qǐng)繞道,相信有很多優(yōu)秀的文章會(huì)告訴你。
本篇要講的在最短的時(shí)間內(nèi),讓你的網(wǎng)站從http升級(jí)到https。
開始教程前再說一句:https你值得擁有。
百牛信息技術(shù)bainiu.ltd整理發(fā)布于博客園
起因
最近段時(shí)間,微信小程序爆火,消息一出,各路豪杰,摩拳擦掌,躍躍欲試。
都想這個(gè)坑(這里不多闡述,具體坑不坑,developer最清楚)里跳。微信對(duì)小程序也是有諸多的限制。
例如文件大小,請(qǐng)求服務(wù)端必須是https。
文件大小,好辦,開發(fā)過程中盡量的控制文件,能復(fù)用的盡量復(fù)用。用不到的文件盡量不引用。本地的圖片也盡量的少。
可https,在國內(nèi)線上用https的都不算多,更何況是開發(fā)過程中用https,應(yīng)該就更少了吧。
如果你正在開發(fā)微信小程序,并還沒有https,那么巧了,那么我想,這篇可能可以幫到你。
StartSSL免費(fèi)SSL證書
都說了是開發(fā)用(如果到了線上,想要https,相關(guān)的運(yùn)維人員會(huì)搞定收費(fèi)的https),那當(dāng)然要用免費(fèi)的。
StartSSL就是個(gè)不錯(cuò)的選擇。
StartSSL
StartSSL是StartCom公司旗下的SSL證書,提供免費(fèi)SSL證書服務(wù)并且被主流瀏覽器支持的免費(fèi)SSL,包括Chrome、Firefox、IE等瀏覽器都可以正常識(shí)別StartSSL,更主要的是StartSSL提供免費(fèi)3年且可以無限續(xù)期的SSL證書,而且可以設(shè)置10個(gè)域名。
StartSSL注冊(cè)、登錄
1 進(jìn)入注冊(cè)頁面
進(jìn)入https://www.startssl.com/SignUp。
?
2 注冊(cè)很簡單只需要填個(gè)郵箱發(fā)送驗(yàn)證碼
?
3 然后填入獲得的驗(yàn)證碼,點(diǎn)擊按鈕后會(huì)跳轉(zhuǎn)至設(shè)置密碼
?
?
4 注冊(cè)成功后,會(huì)讓你下載用于登錄的證書,因?yàn)樵摼W(wǎng)站提供了兩種登錄方式,客戶端證書認(rèn)證和郵箱登錄(填寫郵箱,獲得驗(yàn)證碼登錄),個(gè)人感覺使用郵箱也很方便。
?
申請(qǐng)免費(fèi)的SSL
1 先添加驗(yàn)證域名,選擇選項(xiàng)卡的Validations Wizard,并選擇Domain Validation (for SSL certificate)
點(diǎn)擊Validation
?
2 填入域名,并在域名所有者郵箱(或域名對(duì)應(yīng)的企業(yè)郵箱)中獲取發(fā)送的驗(yàn)證碼
?
3 添加的域名驗(yàn)證成功,點(diǎn)擊To "Order SSL Certificate "
?
4 現(xiàn)在可以開始給自己的域名申請(qǐng)StartSSL免費(fèi)SSL證書了,這里添加用于申請(qǐng)證書的完整的域名
?
5 申請(qǐng)StartSSL免費(fèi)SSL時(shí),會(huì)要求填入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簽名證書請(qǐng)求內(nèi)容,粘貼進(jìn)去
?
8 然后StartSSL就可以免費(fèi)SSL下載使用
下載免費(fèi)的SSL
下載下來的SSL是zip格式的壓縮包,解壓后有如下內(nèi)容
?
分別提供了幾種web服務(wù)所需的ssl認(rèn)證文件
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 這是之前執(zhí)行 openssl req -newkey rsa:2048 -keyout yourname.key -out yourname.csr時(shí)生成的key.
然后啟動(dòng)nginx ,輸入密碼(該密碼是生成本地CSR時(shí)設(shè)置的)
?
大功告成
到這來,就可以使用https了,馬上打開你的域名試試吧。
其實(shí)在網(wǎng)上也能找到很多StartSSL的申請(qǐng)流程。可大多都是之前的,界面與操作方式都有所改變。這篇提供了最新的StartSSL申請(qǐng)流程,以幫助大家更快的進(jìn)行SSL認(rèn)證。
看之前的教程,會(huì)告訴你,在第7步后不能馬上下載SSL認(rèn)證,StartSSL會(huì)有個(gè)客服審核的過程可能需要幾小時(shí),但現(xiàn)在的使用下來發(fā)現(xiàn),現(xiàn)在已經(jīng)沒有這過程了,完成第7步就可以去認(rèn)證的列表下載SSL認(rèn)證。
微信小程序請(qǐng)求 wx.request :fail
本文的目的是為了微信小程序請(qǐng)求能使用https
所以,最后如果在調(diào)用微信wx.request接口時(shí)還是報(bào)錯(cuò),可以參考這篇尋找解決之法。
轉(zhuǎn)載于:https://www.cnblogs.com/bainiu/p/7680894.html
總結(jié)
以上是生活随笔為你收集整理的微信小程序开发之https从无到有的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Python】学习笔记五:缩进与选择
- 下一篇: 单线程实现并发——协程,gevent模块