Назад | Перейти на главную страницу

Тайм-аут Apache 2.4 не работает для простаивающих соединений?

Мне нужно уменьшить значение тайм-аута Apache. Я попытался сделать это 3 или 5. Я открыл telnet-соединение с моим Apache и оставил его без данных, это всегда ~ 30sec + Apache Timeout.

Я тестировал эту конфигурацию в Apache 2.2, и она работает правильно (3 секунды, соединение закрывается автоматически). Я попытался выполнить новую установку Apache 2.4 на VPS, без CGI и с менее активными модулями, которые у меня были, безуспешно.

Это модули, которые у меня есть: authz_core.load authz_user.load headers.load mpm_prefork.conf mpm_prefork.load

Но если вы открываете соединение и отправляете что-то (например, первую строку запроса), оно работает нормально, а затем время ожидания применяется успешно.

Любые идеи? Спасибо

Это была конфигурация AcceptFilter (новая в версии 2.4). По умолчанию используется значение «данные», когда ядро ​​Linux ничего не сообщает Apache о соединении, пока в нем не будет данных.

Чтобы "решить" эту проблему, просто добавьте в apache2.conf: AcceptFilter http none

или даже AcceptFilter https none

Таким образом, соединения передаются напрямую в Apache. Но в этом нет необходимости, поскольку соединения еще не обрабатываются Apache.