Nginx配置SSL安全证书避免启动输入Enter PEM pass phrase

!本文可能 超过1年没有更新,今后内容也许不会被维护或者支持,部分内容可能具有时效性,涉及技术细节或者软件使用方面,本人不保证相应的兼容和可操作性。

之前两篇文章已经很好的介绍了Nginx配置SSL的一些情况,配置好的Nginx每次启动都要输两遍PEM pass phrase,很是不爽,尤其是在服务器重启后,Nginx压根就无法自动启动,必须手动启动并输入那麻烦的PEM pass phrase。如何避免Nginx启动出现Enter PEM pass phrase呢?

求助于万能的搜索引擎后,终于得到了解决的方法:

这种情况可能是在设置私钥key时将密码设置写入了key文件,导致Nginx/Apache等系列服务器在启动时要求Enter PEM pass phrase。我们需要做的是剥离这个密码,利用如下OpenSSL命令生成server.key.unsecure文件:

1
openssl rsa -in server.key -out server.key.unsecure

参考《Can I skip the PEM pass phrase question when I restart the webserver?》

如果server.key.unsecure生成成功,我们就修改Nginx配置,比如像下面这样:

1
2
3
4
5
6
7
8
9
10
# 这里是SSL的相关配置
server {
  listen 443;
  server_name www.example.com; # 你自己的域名
  root /home/www;
  ssl on;
  ssl_certificate /etc/nginx/certs/server.crt;
  # 修改下面这一行指向我们生成的server.key.unsecure文件
  ssl_certificate_key /etc/nginx/certs/server.key.unsecure;
}

然后使用/etc/init.d/nginx restart重启Nginx,是不是发现不再提示了,整个世界清净了吧:-)

有些童鞋可能苦于VPS的配置,精简掉了OpenSSL,从而没有openssl命令,那怎么办呢?你可以不在服务器上做这个操作,把原先的key文件下载到本地客户端,然后再openssl吧。什么?Windows怎么办?没关系,Windows下有OpenSSL for Windows,没有的童鞋赶紧下载下来使用吧。

若无特别说明,本网站文章均为原创,原则上这些文章不允许转载,但是如果阁下是出于研究学习目的可以转载到阁下的个人博客或者主页,转载遵循创作共同性“署名-非商业性使用-相同方式共享”原则,请转载时注明作者出处谢绝商业性、非署名、采集站、垃圾站或者纯粹为了流量的转载。谢谢合作!

请稍后...

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*