如果直接在nginx的配置文件里使用:
ssl_certificate ####.crt;
ssl_certificate_key ####.key;
会报错 bad password read,详细报错如下:
nginx: [emerg] cannot load certificate key "/etc/nginx/###.com.key": PEM_read_bio_PrivateKey() faile (SSL: error:2807106B:UI routines:UI_process:processing error:while reading strings error:0906406D:Proutines:PEM_def_callback:problems getting password error:0906A068:PEM routines:PEM_do_header:bad password read)
这是因为默认的方式是在 nginx 启动重启的时候输入证书密码,但这也太麻烦了,可以使用私钥来生成解密后的 key 来代替,一般也都是这样处理。不然在nginx -t检查的时候就会让你输入 Enter PEM pass phrase: 来进行验证。通过生成解密后的key来实现免密码启动和重启nginx。
使用如下命令,将 linge.####.key 换成你的二级域名确认后输入 密码 即可生成 linge.####.key 文件,替换到ssl_certificate_key里即可,也可以直接将密码写在命令里,使用pass:选项,如下:
# 确认后输入密码生成文件
openssl rsa -in ####.key -out linge.####.key
# 直接在命令行中写上命令 csdn 生成key
openssl rsa -in csdn.com.key -passin pass:csdn -out linge.csdn.com.key
本文地址:http://47.93.183.36/article/1296.html 未经许可,不得转载. 手机访问本页请扫描右下方二维码.
手机扫码直接打开本页面 |