LInux基於nginx與OpenSSL實現https訪問


注意!!首先在nginx安裝時添加--with-http_ssl_module模塊,否則將會報錯,只能從頭開始了

自建證書:

通過openssl命令(軟件包:openssl ;openssl-devel

1)創建私鑰:

openssl genrsa -out server.key 1024

2)證書請求:

openssl req -new -out server.csr -key server.key       //填寫信息,注意!!將Common Name (eg, your name or your server's hostname行填寫成服務器的IP地址)

3)自簽署證書:

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt 

4)將證書變成瀏覽器支持的.p12格式

openssl pkcs12 -export -clcerts -in server.crt -inkey server.key -out server.p12

修改nginx配置文件

 

server {
listen 80;

 

listen 443 default ssl;  //這樣可以設置一個虛擬主機同時支持HTTP和HTTPS

server_name localhost;  //由於我是根據IP訪問,所以這里不做修改

 

ssl_certificate /root/server.crt;  //指定證書文件
ssl_certificate_key /root/server.key;  //指定密鑰文件

 

ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;  //指定密碼為openssl支持的格式

 

ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;

  location {

    略

  }

}

 

將自建證書加入到瀏覽器中(以Chrome為例)

路徑:設置-設置-設置-高級-隱私設置和安全性-管理證書-導入

注意,這時候可能還會提示安全問題,點擊 高級,選擇繼續即可進入

  補充:由於創建私鑰后,每次開啟nginx都需輸入密碼,用以下命令即可無需輸入

 1 cp server.key server.key.org

2 openssl rsa -in server.key.org -out server.key 


免責聲明!

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



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