騰訊雲 網站開啓HTTPS

下圖是我站點的初始化樣子,能夠看到只是輸出一個字符串,啥也沒有,而且沒有https。 
這無所謂,由於咱們的重點是https,而不是網站內容nginx

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

  1. 申請證書session

  2. 修改Nginx的vhost配置文件網站

  3. 重啓Nginxspa

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

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

若是您尚未使用過,列表應該是空的,而後點擊上圖中紅色框中的申請證書按鈕,出現下圖:blog

咱們能夠直接使用默認的免費版證書,點擊上圖中肯定按鈕,出現下圖:ip

在這個頁面,在通用名稱一欄輸入域名,在申請郵箱一欄輸入有限,其餘可選,下圖以個人爲例: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,成功的界面以下圖

相關文章
相關標籤/搜索