Ладно. Очень странная проблема, которая у меня здесь. Я недавно обновился до Apache 2.4.2 с 2.2.17, в основном для того, чтобы попытаться заставить работать SSL VirtualHosts на основе имен (хотя они должны были работать с 2.2.17). Сервер - это Win2008 R2 (т.е. x64 по определению), работающий с PHP 5.4.3 и MySQL 5.1.40 (устаревший, я знаю).
Когда я запускаю сервер, он изначально работает нормально. На все запросы отвечает, VirtualHosts, все в порядке. Однако по прошествии неопределенного времени (по большей части это занимает всего несколько минут, но иногда занимает несколько часов) он перестает отвечать на обычные HTTP-запросы (на любом VirtualHost). HTTPS продолжает работать. Никаких ошибок в журнале и ничего в журналах доступа, когда я пытаюсь подключиться.
Мне сложно найти источник этой ошибки, учитывая ее прерывистый характер. При удалении всех виртуальных хостов на основе 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
Включите Отладку журнала и просмотрите журнал ошибок.
http://httpd.apache.org/docs/2.4/mod/core.html#loglevel
Если запросы не обслуживаются, должно быть что-то, по крайней мере, какое-то уведомление о segfault.
Кроме того, вы можете использовать утилиту «ab» для повторной генерации ошибки после обслуживания определенного типа запросов.
http://httpd.apache.org/docs/2.4/programs/ab.html
В крайнем случае, вы можете запустить httpd из командной строки и принудительно включить режим отладки / передний план с помощью некоторого переключателя двоичного файла apache2. Невозможно, чтобы об этом ничего не попало в журнал. Какое приложение вы используете на нем, это fastcgi или какой-то мост .net?
Более того, что именно вы подразумеваете под «перестает отвечать на обычные HTTP-запросы»? У вас в браузере ошибка 503 или просто ничего не появляется / не удается установить соединение?