我有一个在 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”。这很明显,但您没有提到它,所以只是建议。