原文連接:www.devsai.comphp
本篇不講什麼是https,什麼是SSL,什麼是nginxnginx
想了解這些的請繞道,相信有不少優秀的文章會告訴你。web
本篇要講的在最短的時間內,讓你的網站從http升級到https。小程序
開始教程前再說一句:https你值得擁有。微信小程序
最近段時間,微信小程序爆火,消息一出,各路豪傑,摩拳擦掌,躍躍欲試。瀏覽器
都想這個坑(這裏很少闡述,具體坑不坑,developer最清楚)裏跳。微信對小程序也是有諸多的限制。微信
例如文件大小,請求服務端必須是https。 session
文件大小,好辦,開發過程當中儘可能的控制文件,能複用的儘可能複用。用不到的文件儘可能不引用。本地的圖片也儘可能的少。app
可https,在國內線上用https的都不算多,更況且是開發過程當中用https,應該就更少了吧。運維
若是你正在開發微信小程序,並尚未https,那麼巧了,那麼我想,這篇可能能夠幫到你。
都說了是開發用(若是到了線上,想要https,相關的運維人員會搞定收費的https),那固然要用免費的。
StartSSL就是個不錯的選擇。
StartSSL是StartCom公司旗下的SSL證書,提供免費SSL證書服務而且被主流瀏覽器支持的免費SSL,包括Chrome、Firefox、IE等瀏覽器均可以正常識別StartSSL,更主要的是StartSSL提供免費3年
且能夠無限續期的SSL證書,並且能夠設置10個
域名。
1 進入註冊頁面
2 註冊很簡單隻須要填個郵箱發送驗證碼
3 而後填入得到的驗證碼,點擊按鈕後會跳轉至設置密碼
4 註冊成功後,會讓你下載用於登陸的證書,由於該網站提供了兩種登陸方式,客戶端證書認證和郵箱登陸(填寫郵箱,得到驗證碼登陸),我的感受使用郵箱也很方便。
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是zip格式的壓縮包,解壓後有以下內容
分別提供了幾種web服務所需的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認證。
本文的目的是爲了微信小程序請求能使用https
因此,最後若是在調用微信wx.request接口時仍是報錯,能夠參考這篇尋找解決之法。