1. 程式人生 > >https協議證書部署實戰

https協議證書部署實戰

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協議證書部署實戰