Jun 25 22:32:17 systemd[1]: Starting The nginx HTTP and reverse proxy server...
Jun 25 22:32:17 nginx[32654]: Enter PEM pass phrase:
Jun 25 22:32:17 nginx[32654]: nginx: [emerg] SSL_CTX_use_PrivateKey_file("/etc/ssl/certs/xxx.ke...M lib)
Jun 25 22:32:17 nginx[32654]: nginx: configuration file /etc/nginx/nginx.conf test failed
Jun 25 22:32:17 systemd[1]: nginx.service: control process exited, code=exited status=1
Jun 25 22:32:17 systemd[1]: Failed to start The nginx HTTP and reverse proxy server.
Jun 25 22:32:17 systemd[1]: Unit nginx.service entered failed state.
求解决方案!
1
lilydjwg 2015-06-26 10:58:58 +08:00
为什么要设置 passphrase 呢?你打算在它每次重启的时候登录过去输密码?
|
2
ryd994 2015-06-26 11:22:18 +08:00
服务器私钥加密码并卵
要是真能黑到私钥文件,黑不到配置文件? 私钥密码就是只是给人用的 |
4
LukeXuan OP |
6
lilydjwg 2015-06-26 12:50:41 +08:00
@LukeXuan 因为 systemd 不是 initscripts 呗。systemctl 是通过 D-Bus 告诉 systemd 要启动那个服务的,服务进程和你执行命令的终端没有关系。
网上有个补丁,但是没有被接受: http://mailman.nginx.org/pipermail/nginx/2014-April/043281.html 如上边那些邮件里说的,这样根本防不了被黑,除非黑你的人懒或者根本不懂;它只会给你「更安全」的错觉。因为即使你是人工登陆上去输入密码的,nginx 会去解密私钥并保存在内存中。攻击者只要去 nginx 内存里找就可以了。既然能拿到你的加密过的私钥,那么说明攻击者有 root 权限。既然TA有 root 权限,那么取得进程的内存完全没问题。 你还记得 heartbleed 吗?不过是泄漏了一点点 nginx 的内存,也有人成功地取得了私钥: https://blog.cloudflare.com/the-results-of-the-cloudflare-challenge/ |