標籤:https/ssl協議
一:
HTTP就是我們平時瀏覽網頁時候使用的一種協議。HTTP協議傳輸的資料都是未加密的,也就是明文的,因此使用HTTP協議傳輸隱私資訊非常不安全。為了保證這些隱私資料能加密傳輸,於是網景公司設計了SSL(Secure Sockets Layer)協議用於對HTTP協議傳輸的資料進行加密,從而就誕生了HTTPS。
二:
HTTPS在傳輸資料之前需要用戶端(瀏覽器)與服務端(網站)之間進行一次握手,在握手過程中將確立雙方加密傳輸資料的密碼資訊。TLS/SSL協議不僅僅是一套加密傳輸的協議,更是一件經過藝術家精心設計的藝術品,TLS/SSL中使用了非對稱式加密,對稱式加密以及HASH演算法。
三:
部署https協議
環境要求 yum安裝opensslopenssl-devel
建立秘鑰認證存放目錄
mkdir/usr/local/nginx/ssl
執行命令 openssl genrsa -des3 -out server.key 1024 #產生秘鑰
執行命令 openssl req -new -key server.key -outserver.csr #建立簽章要求的認證(CSR)
執行命令 openssl rsa -inserver.key -out server_nopassword.key #進行解密
執行命令 openssl x509 -req -days 365 -in server.csr-signkey server_nopassword.key -out server.crt # 進行標記認證使用上述私密金鑰和CSR
修改nginx設定檔,載入ssl認證
vim /usr/local/nginx/conf/nginx.conf #進去nginx設定檔(在http標題裡面加入可以選擇最後一行)
server {
listen 443;
server_name localhost;
ssl on;
ssl_certificate /usr/local/nginx/ssl/server.crt;
ssl_certificate_key /usr/local/nginx/ssl/server.nopasswd.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphersAESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!LOW:!aNULL:!eNULL;
ssl_prefer_server_ciphers on;
}
本文出自 “centos7” 部落格,請務必保留此出處http://12832314.blog.51cto.com/12822314/1961898
https協議認證部署實戰