首先執行如下命令生成一個key
openssl genrsa -des3 -out ssl.key 1024
然后他會要求你輸入這個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個文件生成crt證書文件
openssl x509 -req -days 3650 -in ssl.csr -signkey ssl.key -out ssl.crt
這里365是證書有效期 推薦3650哈哈。這個大家隨意。最后使用到的文件是key和crt文件。如果需要用pfx 可以用以下命令生成
openssl pkcs12 -export -inkey ssl.key -in ssl.crt -out ssl.pfx
在需要使用證書的nginx配置文件的server節點里加入以下配置就可以了。
ssl on; ssl_certificate /home/ssl.crt; ssl_certificate_key /home/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;
然后重啟nginx就大功告成了
server{ listen 443; ssl on; ssl_certificate /usr/local/webserver/nginx/conf/vhost/ssl/server.crt; ssl_certificate_key /usr/local/webserver/nginx/conf/vhost/ssl/server.key; }
端口一定是443端口
server { listen 80; server_name www.cnblogs.com; rewrite ^(.*)$ https://$host$1 permanent; }
【注意】
1.如果不能訪問,請檢查防火牆配置
2.如果不能訪問,請檢查域名解析(A解析,cdn加速不支持https)