Apache SSL 在 Centos 6.5 中不起作用

Apache SSL 在 Centos 6.5 中不起作用

我在 Centos 6.5 上安装了一个简单的 LAMP 堆栈,其中包含 httpd/Apache。我在 /etc/httpd/sites-available/acute.conf 中设置了我的 vhost,如下所示:

<VirtualHost *:80>

    ServerName acutemedical.co
    ServerAlias acutemedical.co
    DocumentRoot /var/www/html
    ErrorLog /var/www/log/error.log
    CustomLog /var/www/log/requests.log combined
    Redirect permanent / https://acutemedical.co/
</VirtualHost>

<VirtualHost *:443>

        ServerName acutemedical.co
        ServerAlias acutemedical.co
        DocumentRoot /var/www/html
        ErrorLog /var/www/log/error.log
        CustomLog /var/www/log/requests.log combined    
        SSLEngine on
        SSLCertificateFile /etc/httpd/ssl/server.crt
        SSLCertificateKeyFile /etc/httpd/ssl/server.key
</VirtualHost>

以下是我的 iptables 规则集的输出:

ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80 
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:443 

如果不使用重定向,访问端口 80 上的站点时,站点将正常运行。如果访问端口 443 上的站点,则会出现拒绝连接的情况。当我将重定向指令留在 80 vhost 块中时,也会出现同样的问题。

我尝试使用 http 和 https 卷曲每个 url,但只有 http 有效。

我之前设置过这个,但已经一年左右了(我现在主要使用 nginx)。所以我想知道是否有人可以看看我的配置并告诉我我做错了什么。

答案1

我很快就搞明白了,在我的 httpd.conf 中,我将端口绑定在那里,而不是 vhost。因此,我从 httpd.conf 中删除了它们,并将 Listen 80 和 Listen 443 添加到 vhost 文件中,这样就成功了。

答案2

我怀疑您没有启用以下功能:

NameVirtualHost *:80
NameVirtualHost *:443

您的错误日志(ssl_error_log)中应该有一些内容解释为什么没有任何内容在端口 443 上监听。

但是您的路径看起来非常不像 CentOS/RHEL6(没有站点可用结构,并且不记录到 /var/www/log/ ),所以我敢打赌您的其余配置也不会像预期的那样。

PS. ServerAlias 行是多余的。

相关内容