Apache - Init:无法打开服务器私钥文件



我在Localhost上运行的Apache上启用SSL。我生成了一个自签名的证书,并将其放在通常的地方:

[david@david web]$ ll /etc/ssl/certs/
...
-rwxrwxrwx. 1 david david    977 Mar  7 13:18 localhost.crt
-rwxrwxrwx. 1 david david    712 Mar  7 13:16 localhost.csr
-rwxrwxrwx. 1 david david    963 Mar  7 13:12 localhost.key

但是,当我重新启动apache时,服务器失败,并且在错误日志中收到以下内容:

[Fri Mar 07 13:29:17 2014] [notice] SELinux policy enabled; httpd running as context unconfined_u:system_r:httpd_t:s0
[Fri Mar 07 13:29:17 2014] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Fri Mar 07 13:29:17 2014] [error] (13)Permission denied: Init: Can't open server private key file /etc/ssl/certs/localhost.key

权限对我来说还可以,我在做什么错?

这是因为您可能首先将文件上传到一个主目录,然后将它们移到/etc目录中的某个地方。要纠正此文件的上下文,请执行以下命令:

restorecon -RvF /etc/ssl/certs/

和RESTAR APACHE service httpd restart

希望它有帮助。

大卫,

我建议首先更改密钥文件上的权限和所有权

更改所有权: sudo chown root:root localhost.key
更改权限: sudo chmod 600 localhost.key

要解决问题,我需要从键

中删除密码

删除密码: openssl rsa -in localhost.key -out localhost_nopp.key

之后,只需将sslcertificatekeyfile参数更改为localhost_nopp.key和restart apache。


我猜这会产生一个"干净"文件,即Apache现在很乐意使用。由于这似乎是开发/测试环境,因此假设删除密码不会引起重大安全问题。

谢谢,

约翰

相关内容

  • 没有找到相关文章

最新更新