nginx添加ssl證書


1.為什么使用ssl證書

  1. 數據加密傳輸,防止竊聽
  2. 可以進行數據完整性檢查,防篡改
  3. 可以進行身份驗證,防冒充

提示:登陸時用HTTPS可以防止別人截獲用戶名和密碼

1.1 lnmp安裝

未安裝lnmp環境的,可以點擊安裝地址,進行安裝

1.2SSL通信過程

  1. 客戶端向服務器發請求,請求證書
  2. 服務器把證書發給客戶端
  3. 客戶端對比證書,成功進入不一步,否則告警
  4. 服務器收到對稱密鑰后保存,給客戶端一個應答
  5. 客戶端接收響應,這樣就完成了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 瀏覽器測試

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM