Apache 未提供 SSL 服务

Apache 未提供 SSL 服务

我在我的 apache 上运行多个虚拟主机,并且我想要一个虚拟主机来提供 ssl 服务器。

我已经关注给我的指示我从那里购买了证书。

每当我使用 https 访问我的网站时,Firefox 都会显示“无法连接错误”。

我的 ssl.conf 包含在 httpd.conf 中,如下所示:

NameVirtualHost xxx.xxx.xxx.xxx:443

<VirtualHost xxx.xxx.xxx.xxx:443>

DocumentRoot "/var/www/html/path/to/dir"
ServerName *.xxx.xxx.com
ServerAlias *.xxx.xxx.com
Alias /path "/var/www/html/development/path/to/somewhere/else"

SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
SSLCertificateFile /etc/ssl/crt/STAR_xxx_xxx_com.crt
SSLCertificateKeyFile /etc/ssl/crt/private.key
SSLCACertificateFile /etc/httpd/conf/STAR_xxx_xxx_com.ca-bundle

<Directory "/var/www/html/path/to/dir">
  Order Deny,Allow 
  Allow from all
  Options -Indexes
  AllowOverride All
</Directory>


</VirtualHost>

我还能做什么来解决这个问题?

编辑其他一些想法:

  1. 我读到我的 apache 必须以某种方式使用 SSL 进行编译。这是一个问题吗?
  2. 在某些配置中,Listen 443 被包含在标签中。这也是一个问题吗?

当我执行 lsof -I :443 时,我得到了一个

命令 PID 用户 FD 类型 设备大小 节点名称

httpd   8872   root    5u  IPv6 78180368       TCP *:https (LISTEN)
httpd   8874 apache    5u  IPv6 78180368       TCP *:https (LISTEN)
httpd   8875 apache    5u  IPv6 78180368       TCP *:https (LISTEN)
httpd   8876 apache    5u  IPv6 78180368       TCP *:https (LISTEN)
httpd   8877 apache    5u  IPv6 78180368       TCP *:https (LISTEN)
httpd   8878 apache    5u  IPv6 78180368       TCP *:https (LISTEN)
httpd   8879 apache    5u  IPv6 78180368       TCP *:https (LISTEN)
httpd   8880 apache    5u  IPv6 78180368       TCP *:https (LISTEN)
httpd   8881 apache    5u  IPv6 78180368       TCP *:https (LISTEN)
httpd   8893 apache    5u  IPv6 78180368       TCP *:https (LISTEN)
httpd   8894 apache    5u  IPv6 78180368       TCP *:https (LISTEN)
httpd   8895 apache    5u  IPv6 78180368       TCP *:https (LISTEN)
httpd   9067 apache    5u  IPv6 78180368       TCP *:https (LISTEN)

我想这可能不是我所期望的,因为我只想要一个虚拟主机来监听 443。或者这是正确的?

答案1

你的 中有类似这样的台词吗httpd.conf

Listen 443

答案2

您是否尝试过为 http 和 https 创建两个不同的标签?此外,您是否指向您的证书?您的位置将与下面的我的不同。

<VirtualHost *:80>
</VirtualHost>

<VirtualHost *:443>


   SSLEngine on
   SSLCertificateFile /var/cert/domain.net.crt
   SSLCertificateKeyFile /var/cert/domain.key.nopass
   SSLCertificateChainFile /var/cert/gd_bundle_domain.crt
</VirtualHost>

答案3

您的防火墙可能关闭了 443 端口。在 Linux 上,您可以通过运行以下命令列出规则iptables -L

答案4

通过重新启动 iptables 可以解决这个问题

service iptables stop
service iptables start

相关内容