在为Nginx
配置HTTPS
时,有时候会遇到如下错误,但这并非配置Nginx
的专有错误输出:
[root@node3 nginx]# systemctl restart nginx
Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.
因此我们需要使用systemd
查看更为详细的错误信息,如下
如上图框起部分,Nginx在请求SSL私钥时,读取失败,这是由于我们在生成自签证书时,为私钥设置了二次认证密码的原因,而启动Nginx时因无法获取密码输入报错。
综上所述,解决该问题的方法即去除私钥密码。
# openssl rsa -in nginx.key -out unpw_nginx.key
Enter pass phrase for nginx.key: #键入私钥密码
writing RSA key
nginx.conf
并重启服务# vim nginx.conf
修改ssl_certificate_key "/etc/nginx/unpw_nginx.key";
# systemctl restart nginx
至此,已成功排除故障并启用HTTPS
。事实上,配置Httpd
时,解决方案也是相似的。