Nginx 添加SSL支持HTTPS后 脚本启动失败 Enter PEM pass phrase

环境:centos7
软件环境:nginx1.10.2

遇到问题

在nginx中添加SSL支持,使用的是免费的StartCom 的一年免费SSL签证。
将下载的server.crt和自己生成的server.key配置到nginx.conf中,但是发现使用脚本启动有问题。

nginx.conf

        listen      8080 ;
        listen      443 ssl;
        server_name  www.jeiao.com;

        charset utf-8;

        ssl_certificate     /usr/local/nginx/ssl/www.jeiao.com.crt;
        ssl_certificate_key  /usr/local/nginx/ssl/www.jeiao.com.key;
        ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers         ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-RSA-DES-CBC3-SHA:ECDHE-ECDSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA;

检查nginx 服务状态

[root@nginx]# systemctl status nginx.service
● nginx.service - SYSV: Nginx is an HTTP(S) server, HTTP(S) reverse proxy and IMAP/POP3 proxy server
   Loaded: loaded (/etc/rc.d/init.d/nginx; bad; vendor preset: disabled)
   Active: failed (Result: exit-code) since Thu 2017-01-19 04:46:06 UTC; 19s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 22025 ExecStop=/etc/rc.d/init.d/nginx stop (code=exited, status=0/SUCCESS)
  Process: 22054 ExecStart=/etc/rc.d/init.d/nginx start (code=exited, status=1/FAILURE)
 Main PID: 21789 (code=exited, status=0/SUCCESS)

Jan 19 04:46:06 systemd[1]: Starting SYSV: Nginx is an HTTP(S) server, HTTP(S) reverse proxy and IMAP/POP3 proxy server...
Jan 19 04:46:06 nginx[22054]: Starting nginx: Enter PEM pass phrase:
Jan 19 04:46:06 nginx[22054]: nginx: [emerg] SSL_CTX_use_PrivateKey_file("/usr/local/nginx/ssl/www.jeiao.com.key") failed (SSL: error:0906406D:PEM routines:PEM_def_callback:p...
Jan 19 04:46:06 nginx[22054]: [FAILED]
Jan 19 04:46:06 systemd[1]: nginx.service: control process exited, code=exited status=1
Jan 19 04:46:06 systemd[1]: Failed to start SYSV: Nginx is an HTTP(S) server, HTTP(S) reverse proxy and IMAP/POP3 proxy server.
Jan 19 04:46:06 systemd[1]: Unit nginx.service entered failed state.
Jan 19 04:46:06 systemd[1]: nginx.service failed.
Hint: Some lines were ellipsized, use -l to show in full.

使用命令行启动nginx

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

Enter PEM pass phrase:#输入证书的密码

大致明白了是因为 ssl key中有Passphrase需要移出。

解决办法

cp www.jeiao.com.key www.jeiao.com.key.org
openssl rsa -in www.jeiao.com.key.org -out www.jeiao.com.key

替换ssl下的key,并重启nginx。

然后使用脚本启动nginx就没有问题了。

/etc/init.d/nginx start
#启动输出log
Starting nginx (via systemctl):                    [  OK  ]

参考链接:
http://www.akadia.com/services/ssh_test_certificate.html
http://webmasters.stackexchange.com/questions/1247/can-i-skip-the-pem-pass-phrase-question-when-i-restart-the-webserver

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mingjie1212

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值