Nginx 配置https證書認證


一、什麼是SSL證書

     SL證書全程:SSL安全通道(Secure socket layer(SSL)。該安全協議主要用來提供對用戶和服務器的認證;對傳送的數據進行加密和隱藏;確保數據在傳送中不被改變,即數據的完整性,現已成爲該領域中全球化的標準。

SSL證書是數字證書的一種,類似於駕駛證、護照和營業執照的電子副本。因爲配置在服務器上,也稱爲SSL服務器證書。

SSL 證書就是遵守 SSL協議,由受信任的數字證書頒發機構CA(如VeriSign),在驗證服務器身份後頒發,具有服務器身份驗證和數據傳輸加密功能。

TLS版本號以及相關說明

安全傳輸層協議(TLS)用於在兩個通信應用程序之間提供保密性和數據完整性。該協議由兩層組成: TLS 記錄協議(TLS Record)和 TLS 握手協議(TLS Handshake)。

二、配置服務器

1、獲取證書

    通過證書頒發機構獲取,也就是找賣證書的就可以了

2、安裝服務器證書

將證書文件,上傳至Nginx安裝目錄的conf目錄下,我的安裝目錄是

/usr/local/nginx/conf/

爲了方便管理證書我在conf目錄下創建了證書的統一管理目錄https_ssl目錄,我將所有證書

存放在了conf/https_ssl/下。

同時爲了證書的可識別性,可以爲證書改名

mv server.key   aaaaaa.key

mv  server.pem  aaaaaa.pem

Nginx虛擬主機配置

server {

listen 443;     #修改端口號爲443,如果有防火牆記得開啓防火牆

server_name aaaaaaa; #域名我隱藏了,不要在意aaaaaa

root /data/www/www.test.com;

index  index.php index.html index.htm;

      access_log /data/wwwlogs/rewrite.log access;

       ssl on;     #SSL功能開啓,採用SSL通信協議

       ssl_certificate https_ssl/server.pem;         #證書文件

       ssl_certificate_key https_ssl/server.key;   #私鑰文件

       ssl_session_timeout 5m;   客戶端可以重用會話緩存中ssl參數的過期時間,內網系統默認5分鐘太短了,可以設成30m即30分鐘甚至4h

       ssl_protocols TLSv1 TLSv1.1 TLSv1.2;  #支持的SSL協議標準

       ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL;    選擇加密套件

       ssl_prefer_server_ciphers on;  #設置協商加密算法時,優先使用我們服務端的加密套件,而不是客戶端瀏覽器的加密套件

location ~ \.php$ {

fastcgi_pass  127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME  /scripts$fastcgi_script_name;

include       fastcgi.conf;

}

}

測試訪問,https:aaaaa 可以看到有綠色的鎖,說明已經配置成功了,根據瀏覽器的查看證書的方式

也不同,我使用的是火狐

在實際使用中https比http的訪問方式,開銷要大


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章