文章出處

接上篇《騰訊云下安裝 nodejs + 實現 Nginx 反向代理》,想從頭一步到位的同學建議從上篇文章開始閱讀。本文將繼續介紹如何通過 Nginx 免費部署HTTPS。

留意下,這里的“免費”指的是HTTPS證書的獲取,至于域名還是需要額外購買(其實域名真心很便宜了)

筆者在騰訊云上購買了 vajoy.org 的域名,并根據官方指引進行了解析處理,綁定到服務器ip上(留意處理后大約10分鐘后才能ping通)

接著在云主機修改配置,執行:

#vim /home/ubuntu/nginx/conf/nginx.conf

將 server_name 修改為“vajoy.org”

然后重啟 Nginx 服務:

#/home/ubuntu/nginx/sbin/nginx -s reload

這時咱們直接用瀏覽器訪問 http://vajoy.org 就能正常訪問了,只不過是 HTTP 協議形式:

免費獲取HTTPS證書

事實上騰訊云本身支持申請免費的SSL證書,不過其僅支持單個非一級域名:

另外為了方便非騰訊云用戶也可以做參考,這里我們通過 https://startssl.com/ 來申請免費的SSL證書。

咱們先在 startssl 上進行注冊,然后選擇申請免費的證書:

如其描述所示,該證書時限為3年,支持10個域名,但僅提供到 Class 1 級別的證書。這里簡單科普下證書級別概念:

Class 4 SSL證書:即EV SSL證書,頂級SSL證書,又稱擴展驗證型SSL證書。安全級別最高,驗證審核最嚴格,網站部署EV SSL證書后,瀏覽器地址欄將變成綠色并顯示企業名稱。EV SSL證書一般應用于金融、銀行、電商等安全需求較高的網站。
Class 3 SSL證書:即OV SSL證書,專業級SSL證書,又稱機構驗證型SSL證書。當前廣泛應用的SSL證書,需要驗證企業身份信息后頒發。OV SSL證書是當前最常見的證書類型,適用于行政、企業、科研、郵箱、論壇等各類大中型網站。
Class 2 SSL證書:即IV SSL證書,個人級SSL證書,沃通特有的SSL證書,又稱個人驗證型SSL證書。驗證個人詳細信息后頒發,主要應用于私人博客、自媒體等個人網站。
Class 1 SSL證書:即DV SSL證書,基礎級SSL證書,又稱域名驗證型SSL證書。DV SSL證書是簽發只驗證域名所有權,任何人都可以申請,屬于快速頒發的SSL證書,安全級別較低。

目前來說,Class 1 SSL 證書對咱是夠用了。

接著 startssl 會指引我們對 SSL 證書進行域名認證:

點擊“Finish”鏈接,再選擇“Domain Validation”,會進入域名驗證頁面:

這里要求通過域名郵箱來接收驗證碼。不過截止咱還沒有任何郵箱服務。

怎么辦呢?不用慌,通過騰訊企業郵是可以進行免費申請的,登錄其申請頁面點擊申請免費版即可。

申請的過程中會提供你域名MX記錄的配置信息:

我們返回騰訊云管理后臺的域名解析頁面,新增對應記錄即可:

接著回到騰訊企業郵管理后臺,添加 startssl 要發送驗證碼的郵箱賬戶:

再用這個郵箱(hostmaster@vajoy.org)作為帳戶名登錄騰訊企業郵即可:

順便吐槽下,企業郵這么方便的產品,騰訊云整個站點都沒找到傳送門,這點建議改進了。

回到 startssl,這下可以安心發送域名驗證的驗證碼到咱郵箱(hostmaster@vajoy.org)了。

初步驗證完成后,咱們再點擊“Certificates Wizard”:

 

如上圖,這里有兩處需要填寫,一處是證書的 common name,這里我填寫的“vajoy.org”,如果你還希望該證書支持其它域名(如“a.vajoy.org”),可以換行加上(一個只能加10個域名)

另外是需要在服務器上生成的CSR(證書請求文件)內容。

我們在云主機上(/home/ubuntu)執行指令(指令格式參考上圖 startssl 頁面紅字部分)

openssl req -newkey rsa:2048 -keyout vajoy.org_ssl.key -out vajoy.org.csr

期間會要求輸入機構名稱、地址、email等信息,且最終會生成兩個文件(證書簽名請求文件和私鑰)

通過 cat 指令獲取到 CSR 文件內容后把它粘貼到 startssl 頁面。提交后會引導你下載證書:

點擊“here”直接下載證書壓縮包,打開后里面有各種服務器支持格式的證書,這里咱們選 NginxServer.zip,解壓它可得到“vajoy.org_bundle.crt”文件。

把下載到的這個“vajoy.org_bundle.crt”證書上傳到咱服務器去(我通過 FileZilla 上傳服務器,放到 /home/ubuntu)

接著就是修改 nginx 的配置啦。這里特別推薦到 https://cipherli.st/ 去獲取最安全的配置內容。

我們給 nginx.conf 加上紅框部分的內容(跟進 https://cipherli.st/ 上的配置來修改的)

然后執行指令判斷 nginx 配置是否正確:

#/home/ubuntu/nginx/sbin/nginx -t

注意這里可能還會讓你輸入一次 PEM 密碼,直接輸入之前生成 .csr 時填寫的安全密碼即可。

最后我們再重啟下 nginx 服務,再訪問 https://vajoy.org 會發現HTTPS已經妥妥的生效了:

后續可能還會再講講這次 nginx.conf 上新增的內容的含義,以及一些針對HTTPS的優化。共勉`


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()