为什么 apache SSL 证书和密钥需要放在 /etc/pki/tls/private/ 中?

为什么 apache SSL 证书和密钥需要放在 /etc/pki/tls/private/ 中?

我有一个在 CentOS 6.6 上运行的 Apache 2.2 Web 服务器。我有一个证书和密钥文件,当文件位于以下目录中时,它们可以运行:

SSLCertificateFile "/etc/pki/tls/private/certs/mycert.crt"
SSLCertificateKeyFile "/etc/pki/tls/private/mycert.key"

但当相同的文件位于不同的目录中时,它会失败

drwxr-xr-x. 2 root root 4096 Apr  8 16:41 ssl

SSLCertificateFile "/etc/ssl/mycert.crt"
SSLCertificateKeyFile "/etc/ssl/mycert.key"

Apache 错误日志包含

[error] Init: Private key not found

SELinux 已禁用。什么会导致此类行为?


更新

两个目录中的文件权限相同:

-rw-r--r--  1 root root 2253 Apr  8 16:40 mycert.crt
-rw-------  1 root root 1675 Apr  8 16:40 mycert.key

答案1

apache 在 apache 用户下运行,而不是 root,也许您只将访问权限限制为 root 用户?那么尝试“chown apache /etc/ssl/mycert.key”。这很明显,但您没有提到它,所以只是建议。

相关内容