CentOS-Apache 和 SSL?

CentOS-Apache 和 SSL?

大家好

我的 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

相关内容