1. 程式人生 > >【騰訊雲的1001種玩法】個人網站如何開啟HTTPS?

【騰訊雲的1001種玩法】個人網站如何開啟HTTPS?

騰訊雲技術社群-部落格主頁持續為大家呈現雲端計算技術文章,歡迎大家關注!

作者:賽冷思

首先,感謝騰訊雲通過了我的入駐申請,感謝給我一個在這裡發文的機會。

近日總有朋友問我的網站https是怎麼搞得,其實很簡單,但對於沒搞過,沒有經過各種測試的菜鳥來說,確實也是一樁麻煩事。所以在此寫一篇我按照騰訊雲官方教程實現https的方式,如有問題或發現錯誤之處,還請留言之處,畢竟我也不是很精,只是會搞,來分享一下。

在說之前,先描述一下我的伺服器環境:

  • 一臺Linux CentOS6雲伺服器

  • LNMP整合環境

  • 部署好的一個站點,可以通過域名直接訪問

下圖是我站點的初始化樣子,可以看到只是輸出一個字串,啥也沒有,並且沒有https。
這無所謂,因為我們的重點是https,而不是網站內容

接下來就是配置https的關鍵步驟了,其實只需要三步而已

  1. 申請證書

  2. 修改Nginx的vhost配置檔案

  3. 重啟Nginx

1,申請證書步驟如下,騰訊雲申請證書是很快的,這要給個大大的贊

登入騰訊雲->進入管理中心,出現下圖:

然後滑鼠放到紅色框的地方,會出現下拉框,點選上圖中箭頭指的位置->ssL證書管理,出現下圖:

如果您還沒有使用過,列表應該是空的,然後點選上圖中紅色框中的申請證書按鈕,出現下圖:

我們可以直接使用預設的免費版證書,點選上圖中確定按鈕,出現下圖:

在這個頁面,在通用名稱一欄輸入域名,在申請郵箱一欄輸入有限,其他可選,下圖以我的為例:

然後點選下一步,會讓你驗證,直接選擇 自動DNS驗證

然後點選上圖中確認申請,會彈框提示已提交,然後到列表中就能看到類似的下圖:

在這個列表中,狀態一列,我這裡顯示的已頒發,實際上這裡應該是稽核中,因為我這個域名之前已經申請過了,所以你們操作完回到這一步,顯示的是稽核中,然後騰訊稽核的效率還是挺快的,幾分鐘後就頒發下來了。

證書頒發下來之後,然後點選下載,把這個證書下載下來,下載下來是個壓縮包,解壓之後,開啟目錄,出現下圖:

上圖中內建了四種服務環境,選擇自己對應的服務環境,如果沒有您的環境,可聯絡騰訊雲,我這裡是Nginx,開啟目錄,出現下圖:

然後把上圖中這兩個檔案上傳到伺服器的Nginx配置檔案目錄,我個人是上傳到/usr/local/nginx/conf

,但是我有個強迫症,所以我在這個conf目錄建立了一個ssl目錄,然後在ssl目錄中,存放了一堆目錄,每個目錄都代表的是一個域名,每個目錄中存放的就是該域名對應的這兩個crt和key檔案,上傳方式多種,我用的是scp命令上傳,挺方便,如下圖:

上傳完了之後,就開始配置域名對應的vhost檔案了,完整配置如下:

下面是上圖中完整的核心程式碼

server {
        listen 80;
        server_name test.sailengsi.com;#換成你的域名
        return 301 https://$server_name$request_uri;
}
server {
        listen 443;
        server_name test.sailengsi.com;#換成你的域名
        ssl on;
        ssl_certificate ssl/test/1_test.sailengsi.com_bundle.crt;#證書檔案
        ssl_certificate_key ssl/test/2_test.sailengsi.com.key;#祕鑰檔案
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers  ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
        ssl_prefer_server_ciphers   on;
}

解釋一下,第二個server,大家肯定能明白,這是官方給的例項,具體可參考文末給的連結。

第一個server,是為了把80埠給重定向到443,也就是把http的訪問重定向到https,不然,直接訪問https是沒問題,但是使用者訪問時,可能就直接輸入域名啥的,這個時候預設走的是80埠,所以我們通過這一步直接重定向,就做到了全站https。

ssl配置中有個注意的地方:

  1. ssl_certificatessl_certificate_key,後面的引入的路徑,要麼是絕對路徑,從/開始,要麼就像我這樣,要麼直接在當前目錄下開始找,不要寫./或者../啥的,Nginx不支援這種路徑,會報錯,會報錯,會報錯!!!

配置完成之後,重啟以下命令重啟Nginx:

/usr/local/nginx/sbin/nginx -s reload

然後,再次重新整理頁面,就會發現,直接變成https,成功的介面如下圖:

到這裡,基本上網站開啟Nginx就結束了,其實這些內容,在騰訊雲官方已有說明,但缺少一個傻瓜式的教程,畢竟倘若不太瞭解伺服器,折騰這玩意,還是有些困難,所以在此分享一下經驗。

參考連結:官方文件

如有錯誤,還請留言之處,也可直接聯絡本人,謝謝。

QQ:823393100

郵箱:sailengsi#126.com #換成@

相關閱讀

【騰訊雲的1001種玩法】徵文活動火熱進行中,歡迎你來撰寫騰訊雲相關技術文章喲,Apple Watch、iPad Mini 等你來拿!點選檢視詳情