前言:筆者買了個域名和雲服務器,用於學習,本文僅記錄下學習過程中的一些收穫,如有不足之處,請指正或者提出好的建議。◕‿◕。謝謝。此文是在Debian安裝了nginx的基礎之上,爲服務器配置https,關於如何在Debian安裝nginx,這個博主寫得蠻不錯的:Debian 8 安裝Nginx最新版本,關於網站部署https的重要性以及https的一些原理,這個博主也寫得蠻不錯的:HTTPS證書生成原理和部署細節。
當我們訪問一些不支持https的網站的時候,谷歌瀏覽器會提示我們:
HTTP 協議是不加密傳輸數據的,也就是用戶跟你的網站之間傳遞數據有可能在途中被截獲,破解傳遞的真實內容,所以使用不加密的 http 的網站是不太安全的。
現在有一些機構可以爲我們免費提供安全證書,如阿里雲或者騰訊雲等等平臺,筆者是在阿里雲上買的域名,也順便在阿里雲申請免費的SSL證書。
- 阿里雲申請免費安全證書的鏈接在此:鏈接。
-
申請的步驟如下:
-
支付成功之後我們需要到阿里雲SSL證書管理控制檯申請證書,輸入綁定的域名以及個人信息,這個在控制檯那裏也會提示你進行申請:
接着,會生成驗證信息,我們只需要點擊驗證,阿里雲會自動幫我們驗證信息的。
點擊驗證之後,我們看到控制檯這裏是提示證書申請審覈中:
等待大概2-3分鐘之後,阿里雲發來了郵件信息,提示申請證書成功:
再次回到我們的控制檯,我們會發現此時從審覈中變成了已簽發的狀態,然後就是下載我們的SSL證書了:
下載之後進行解壓,裏面有兩個文件,以.key和.pem結尾,這兩個我們要上傳到我們的Debian8上面。
創建存放SSL證書文件的文件夾:
$ sudo mkdir -p /etc/nginx/ssl
我這裏是把這兩個文件放在 /etc/nginx/ssl目錄下,這裏需要記住上傳SSL證書文件的路徑。
接着,我們需要給nginx的配置文件加上添加證書的路徑以及開啓安全證書,進入默認的配置文件:
$ vim /etc/nginx/sites-available/default
- 添加的內容如下:
點擊 i ,進行修改內容,把以下內容複製/輸入進去,當然別忘了把ssl_certificate和ssl_certificate_key後面路徑的****換成是你的文件名字哦:
listen 443 ssl;
ssl_certificate /etc/nginx/ssl/****.pem;
ssl_certificate_key /etc/nginx/ssl/****.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
最後按esc退出,然後輸入:wq 保存並退出。
然後檢查一下我們修改內容有沒有出錯,輸入:
$ nginx -t
提示successful
最後的最後,還需要重啓一下nginx,不然的話是不會生效的。
輸入:
$ sudo service nginx restart
最後,在瀏覽器訪問我的域名,可以看到提示連接是安全的:
題外話,部署好了之後可以在這個網站:鏈接,看看測評分數,如果分數是 A+,說明你的 HTTPS 的各項配置都還不錯,速度也很快。我這邊是B。