零、一句话概要
1.生成私钥
1 | openssl genrsa -aes256 -out www.test.com.key 2048 |
根据提示输入4~1024位的密码(密码安全提示:同时包含大小写字母数字及特殊符号长度8位以上)
2.生成请求文件
1 | openssl req -new -key www.test.com.key -out www.test.com.csr |
输入国名CN,组织名字等字段,Common Name填写要提交签名的域名(全域名例如:dev.test.com)密码可以留空
3.提交www.test.com.cer给CA签名,CA签名后会返回给你经过签名的pem文件,可以放在服务器上开启https访问
4.配置Nginx服务器
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | # HTTPS server server { listen 443 ssl; server_name home.we029.com; ssl_certificate /foo/bar/www.test.com.pem; ssl_certificate_key /foo/bar/www.test.com.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_prefer_server_ciphers on; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; location / { root /var/www/html; index index.html index.htm index.php; } } |
5.私钥去除密码保护
1 | openssl rsa -in www.test.com.key -out www.test.com.unpass.key |
根据需要选择服务器上配置的私钥是否加密,修改4 中的ssl_certificate_key 即可。如果是加密的私钥在服务器每次启动时需要输入密码(安全小贴士:如果私钥要脱密建议在独立的服务器上使用,私钥可以用来解密数据,私钥一旦泄露,相当于无秘可守,如果使用阿里云,腾讯云等云平台,相当于你的所有数据母鸡上都能看到,不建议关键的私钥脱密上传到云上,当然测试是没有问题,还有一点,最好不要多个站点共用私钥,最好每个域名一个私钥,然后用不用的私钥生成csr去让CA签名) 继续阅读