之前两篇文章已经很好的介绍了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文件:
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配置,比如像下面这样:
# 这里是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,是不是发现不再提示了,整个世界清净了吧:-)