大家好
我的 SSL 设置有问题,当我将 SSL 引擎放到 Apache 上时,它无法启动,如果我将其删除,它就可以正常工作。
我找不到 Apache 日志,所以我无法找出这里发生了什么,
有人能告诉我问题所在或者链接到 Apache 的默认日志路径吗?
这是我的 vhost 配置文件。
<VirtualHost *:443>
# SSLEngine On
SSLProtocol all
SSLCertificateFile "/etc/pki/tls/schemecloud.co.uk.csr"
SSLCertificateKeyFile "/etc/pki/tls/schemecloud.co.uk.key"
SSLCACertificateFile "/etc/pki/tls/rapidssl.crt"
ErrorLog "/var/www/error_ssl_log"
<Directory /var/www/html>
AllowOverride All
</Directory>
DocumentRoot /var/www/html/
ServerName schemecloud.co.uk
</VirtualHost>
答案1
您正在列出 SSLCertificateFile 的 .csr 文件。.csr 文件通常包含证书签名请求,这不是您的证书。您可能有一个 .crt 文件,需要将其放入该指令中。
答案2
我的 Centos 安装中的 Apache 日志路径是“/var/log/httpd/”;但是,看起来你可能正在使用错误日志范围。
对于你给出的配置,我怀疑你可能使用了错误的文件SSL证书文件参数;“.csr”通常表示证书签名请求,该参数所需的证书文件通常名为“.crt”。
此外,你可能会发现设置 Apache 以使用 SSL 的教程有帮助的。
答案3
我找不到 Apache 日志,所以我无法找出这里发生了什么,
您正在使用以下行覆盖配置中的默认 ErrorLog 路径:
ErrorLog "/var/www/error_ssl_log"
我建议删除该行,而只使用默认的 ErrorLog。这样,所有错误都将记录在同一位置。它是一个守护进程,在大多数情况下,它实际上只需要一个错误日志文件。此外,/var/www/
通常是用于保存 Web 内容(html 文件、图像、错误页面、图标、cgi 脚本等)的目录。您可能不想在其中存储任何错误日志。
要找到默认的 ErrorLog 位置,您需要了解 Apache 配置的工作原理。
首先在主 httpd.conf 中搜索“ErrorLog”。在 CentOS 5 机器上,您将看到如下一行:
myhost $ grep ErrorLog /etc/httpd/conf*/*.conf
/etc/httpd/conf/httpd.conf:ErrorLog logs/error_log
myhost $
根据ErrorLog 指令:
如果文件路径不是绝对路径,则假定它与 ServerRoot 相关。
在 CentOS 5 机器上,ServerRoot 通常是 /etc/httpd
myhost $ grep ServerRoot "/etc/httpd" /etc/httpd/conf*/*.conf
/etc/httpd/conf/httpd.conf:ServerRoot "/etc/httpd"
这意味着您的默认错误日志位于/etc/httpd/logs/
,它恰好是 的符号链接/var/log/httpd
:
myhost $ ls -ld /etc/httpd/logs
lrwxrwxrwx 1 root root 19 Sep 29 2010 /etc/httpd/logs -> ../../var/log/httpd