启用S​​SL时,Apache HTTP不工作

我有一个非常奇怪的问题,在Apache中启用SSL支持后,我只能通过SSL访问我的网站,而不是通过HTTP。

我可以确认,Apache确实在端口80和443(根据netstat)监听。 此外,Apache访问日志显示的请求 – 这只是通过http进入超时结果,我实际上无法达到的内容。 就像我说的通过https工作。

这是我的httpd.conf: http : //pastebin.com/kG2dPjJ2

这里是我的httpd-ssl.conf: http : //pastebin.com/thqvjgGJ

任何人都可以发现这些configuration的任何问题? 或者有什么build议?

我已经search和search,但似乎很less有人经历了相同的。

另外值得一提的是,我对这些configuration和工作设置进行了比较,我什么也找不到。

您正在运行两个单独的httpd实例,它们都尝试使用相同的日志文件。 这意味着其中一个将无法写入文件,该实例将挂起。

如果你想为它们使用相同的文件,你应该在同一个实例中运行它们,使用VirtualHost将SSL与非SSL分开。 否则,请使用单独的日志文件。

编辑

此外,您的httpd.conf端口80包含行:

 Include /storage/.xbmc/userdata/addon_data/service.web.lamp/srvroot/conf/extra/httpd-ssl.conf 

这意味着你首先在你的httpd.conf中执行大部分的东西,直到Include -line。 然后你在httpd-ssl.conf中做了所有的事情,然后在httpd.conf中做所有的事情。 这是不太可能是你想要的。

为了有一个“网站”你需要一个VHOST(虚拟主机)。

提供的configuration文件只有一个用于SSL的虚拟主机(443)。 我不知道你正在尝试实现什么,但添加一个类似于下面的部分(在httpd.conf中)将有助于:

<VirtualHost _default_:80> DocumentRoot "/some/place" ServerName www.example.org ServerAdmin [email protected] ErrorLog "/some/place/for/logs/error" TransferLog "/some/place/for/logs/transfer" CustomLog "/some/place/for/logs/access" </VirtualHost>