正文開始:(紅色文字為關鍵命令)
這里說下Linux 系統怎么通過openssl命令生成 證書
創建存放證書的目錄,此目錄可自定義
cd /etc/nginx
mkdir key
cd key
執行如下命令生成一個key
openssl genrsa -des3 -out ssl.key 4096
然后他會要求你輸入這個key文件的密碼。不推薦輸入。因為以后要給nginx使用。每次reload nginx配置時候都要你驗證這個PAM密碼的。
由於生成時候必須輸入密碼。你可以輸入后 再刪掉。
mv ssl.key xxx.key
openssl rsa -in xxx.key -out ssl.key
rm xxx.key
然后根據這個key文件生成證書請求文件
openssl req -new -key ssl.key -out ssl.csr
以上命令生成時候要填很多東西 如圖:
最后根據這2個文件(ssl.key ssl.csr)生成crt證書文件
openssl x509 -req -days 365 -in ssl.csr -signkey ssl.key -out ssl.crt
這里365是證書有效期 推薦3650哈哈。這個大家隨意。最后使用到的文件是key和crt文件。
在需要使用證書的nginx配置文件的server節點里加入以下配置就可以了。
server {
listen 443;#https默認使用443端口
server_name 0.0.0.0; #將0.0.0.0替換為你的網站域名或ip
ssl on;
ssl_certificate /etc/nginx/key/ssl.crt;
ssl_certificate_key /etc/nginx/key/ssl.key;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
location / {
... ...自定義配置, 參考博客:
}
然后重啟nginx就大功告成了