Nginx部署SSL證書

SSL證書介紹
SSL證書是數字證書的一種,類似於駕駛證、護照和營業執照的電子副本。因為配置在伺服器上,也稱為SSL伺服器證書。
SSL 證書就是遵守 SSL協議,由受信任的數字證書頒發機構CA,在驗證伺服器身份後頒發,具有伺服器身份驗證和數據傳輸加密功能。
 
SSL認證原理

1.握手協議

握手協議是客戶機和伺服器用SSL連接通訊時使用的第一個子協議,握手協議包括客戶機與伺服器之間的一系列消息。SSL中最複雜的協議就是握手協議。該協議允許伺服器和客戶機相互驗證,協商加密和MAC演算法以及保密密鑰,用來保護在SSL記錄中發送的數據。握手協議是在應用程式的數據傳輸之前使用的。

2.記錄協議

記錄協議在客戶機和伺服器握手成功後使用,即客戶機和伺服器鑒別對方和確定安全資訊交換使用的演算法後,進入SSL記錄協議,記錄協議向SSL連接提供兩個服務:
(1)保密性:使用握手協議定義的秘密密鑰實現
(2)完整性:握手協議定義了MAC,用於保證消息完整性

3.警報協議

客戶機和伺服器發現錯誤時,向對方發送一個警報消息。如果是致命錯誤,則演算法立即關閉SSL連接,雙方還會先刪除相關的會話號,秘密和密鑰。每個警報消息共2個位元組,第1個位元組表示錯誤類型,如果是警報,則值為1,如果是致命錯誤,則值為2;第2個位元組制定實際錯誤類型。
 
SSL證書部署準備工作
1.下載證書
證書下載後解壓縮會看見後綴 .key 和 .pem 的文件,把這兩個文件上傳到nginx伺服器上,然後在conf文件下面創建cert文件夾,把證書拷貝到這個文件下面。

2.部署證書

./nginx -t 查看nginx安裝路徑,找到nginx.conf配置文件編輯

在server下面添加

server_name 你的域名地址;

listen 443 ssl;
ssl_certificate conf/cert/.pem;
ssl_certificate_key conf/cert/.key;

3.配置http自動跳轉https

 新增一個server新增以下配置

listen 80;
server_name 你的域名;
rewrite ^(.*)$ //$host$1;

4.載入nginx配置

./nginx -s reload

最後打開網頁驗證

 
Tags: