1. 程式人生 > >騰訊雲 網站開啟HTTPS

騰訊雲 網站開啟HTTPS

顯示 輸入 ftp 重點 rom 點擊 已提交 管理中心 time

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

技術分享圖片

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

  1. 申請證書

  2. 修改Nginx的vhost配置文件

  3. 重啟Nginx

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

技術分享圖片

然後鼠標放到紅色框的地方,會出現下拉框,點擊上圖中箭頭指的位置->ssL證書管理,出現下圖:技術分享圖片

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

技術分享圖片

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

技術分享圖片

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

技術分享圖片

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

技術分享圖片

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

技術分享圖片

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

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

技術分享圖片

上圖中內置了四種服務環境,選擇自己對應的服務環境,如果沒有您的環境,可聯系騰訊雲,我這裏是Nginx:

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

,但是我有個強迫癥,所以我在這個conf目錄創建了一個ssl目錄,然後在ssl目錄中,存放了一堆目錄,每個目錄都代表的是一個域名,每個目錄中存放的就是該域名對應的這兩個crt和key文件,上傳方式多種,我用的是sftp上傳,挺方便

技術分享圖片

上傳完了之後,就開始配置域名對應的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,成功的界面如下圖

技術分享圖片

騰訊雲 網站開啟HTTPS