1.為什么使用ssl證書
- 數據加密傳輸,防止竊聽
- 可以進行數據完整性檢查,防篡改
- 可以進行身份驗證,防冒充
提示:登陸時用HTTPS可以防止別人截獲用戶名和密碼
1.1 lnmp安裝
未安裝lnmp環境的,可以點擊安裝地址,進行安裝
1.2SSL通信過程
- 客戶端向服務器發請求,請求證書
- 服務器把證書發給客戶端
- 客戶端對比證書,成功進入不一步,否則告警
- 服務器收到對稱密鑰后保存,給客戶端一個應答
- 客戶端接收響應,這樣就完成了SSL連接,后面的通信用對稱密鑰加密數據傳輸
1.3自簽SSL證書
#生成一個RSA私鑰,1024是加密強度,一般是1024或2048 openssl genrsa -out private.key 1024 #生成一個證書請求 openssl req -new -key private.key -out cert_req.csr #自己簽發證書,如果要權威CA簽發的話,要把cert_req.csr發給CA openssl x509 -req -days 365 -in cert_req.csr -signkey private.key -out server_cert.crt
1.4編輯配置文件nginx.conf
server{ listen 80; server_name lnmp; rewrite "^/(.*)$" https://lnmp/$1 break; #訪問時做自動跳轉 } server { listen 443 ssl; server_name localhost; ssl_certificate /application/nginx/key/server.crt; ssl_certificate_key /application/nginx/key/server.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; } #重啟服務 使用https://lnmp #訪問網站,當前主機域名解析為lnmp
1.5curl測試
curl http://lnmp/ 會自動跳轉到https://lnmp中
1.6 瀏覽器測試