之前两篇文章已经很好的介绍了Nginx配置SSL的一些情况,配置好的Nginx每次启动都要输两遍PEM pass phrase,很是不爽,尤其是在服务器重启后,Nginx压根就无法自动启动,必须手动启动并输入那麻烦的PEM pass phrase。如何避免Nginx启动出现Enter PEM pass phrase呢?
求助于万能的搜索引擎后,终于得到了解决的方法:
这种情况可能是在设置私钥key时将密码设置写入了key文件,导致Nginx/Apache等系列服务器在启动时要求Enter PEM pass phrase。我们需要做的是剥离这个密码,利用如下OpenSSL命令生成1302am.com.key.unsecure文件。
进入ssl秘钥和证书的存放目录 /etc/ssl/private/,执行下面命令:
openssl rsa -in 1302am.com.key -out 1302am.com.key.unsecure
如果server.key.unsecure生成成功,我们就修改Nginx配置,比如像下面这样:
# 这里是SSL的相关配置server {listen 443;server_name www.example.com; # 你自己的域名root /home/www;ssl on;ssl_certificate /etc/ssl/private/1302am.com.crt;# 修改下面这一行指向我们生成的server.key.unsecure文件 ssl_certificate_key /etc/ssl/private/1302am.com.key.unsecure;
}
然后使用service nginx restart就可以啦!