Apache停止响应http请求 – https继续工作

好的。 非常奇怪的问题,我在这里。 我最近刚刚从2.2.17更新到Apache 2.4.2,主要是为了尝试获得基于名称的SSL VirtualHosts(尽pipe它们应该在2.2.17上工作)。 服务器是Win2008 R2(按照定义x64)运行PHP 5.4.3和MySQL 5.1.40(过时,我知道)。

当我启动服务器时,它最初工作正常。 响应所有请求,虚拟主机全部按顺序。 但是,经过一段不确定的时间(似乎大部分时间只需要几分钟,但有时需要几个小时),它会停止响应常规HTTP请求(在任何VirtualHost上)。 HTTPS继续工作。 日志中没有错误,当我尝试连接时没有任何访问日志。

鉴于其间歇性,我很难find这个错误的根源。 当删除所有基于SSL的虚拟主机时,它似乎增加了稳定性(仍然在十二小时后响应HTTP请求)。 虽然这可能仅仅是巧合。

SSL VirtualHost的整体情况如下,如果碰巧遇到问题。

<VirtualHost *:443> DocumentRoot "C:\Server\www\virtualhosts\mysite.net" ErrorLog logs/ssl.mysite.net-error_log CustomLog logs/ssl.mysite.net-access_log common env=!dontlog SSLEngine on SSLProtocol all -SSLv2 SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM SSLCertificateFile C:/Server/bin/apache/apache2.4.2/conf/ssl/server.crt SSLCertificateKeyFile C:/Server/bin/apache/apache2.4.2/conf/ssl/server.key SSLCertificateChainFile C:/Server/bin/apache/Apache2.4.2/conf/ssl/sub.class1.server.ca.pem SSLCACertificateFile C:/Server/bin/apache/Apache2.4.2/conf/ssl/ca.pem </VirtualHost> 

任何想法我失踪?

我们已经解决了我们的服务器上非常类似的问题。 请参阅Apache随机停止提供HTTPS,但HTTP工作得很好

httpd.conf文件中的这个设置修复了这个问题:

 AcceptFilter http none AcceptFilter https none 

打开日志debugging,并查看错误日志。

http://httpd.apache.org/docs/2.4/mod/core.html#loglevel

如果请求没有得到服务,一定有东西,至less有一些segfault通知。

另外,您可以使用“ab”实用程序在提供特定种类的请求后重新生成错误

http://httpd.apache.org/docs/2.4/programs/ab.html

作为最后的手段,您可以从命令行启动httpd,并强制使用apache2二进制文件的某些开关进行debugging模式/前台。 关于它的日志是不可能的。 你用什么样的应用程序,它是fastcgi,还是某个.net桥梁?

更多的是,“停止响应常规的HTTP请求”是什么意思? 浏览器中是否有503错误,或者只是没有显示/连接失败?