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

Отключить таймауты на apache httpd и fastcgi

Сервер debian lenny, на котором запущены apache httpd 2.2.11 и fastcgi, убивает запросы, когда они занимают более определенного количества секунд. Я хочу отключить этот тайм-аут, чтобы иметь возможность отлаживать приложение, запущенное с использованием fastcgi.

Я искал как в документации apache, так и в lighttpd, но ничего не нашел (только такие параметры, как тайм-аут простоя, я думаю, что здесь не так).

Кто-нибудь знает, как контролировать этот тайм-аут? Спасибо.

Похоже, вам нужен один из Директивы FastCGI: FastCGIServer, FastCGIConfig или FastCgiExternalServer, в зависимости. FastCGIConfig влияет на все приложения FastCGI; два других предназначены для каждого приложения. Вам понадобится один из этих вариантов (проверьте документацию, чтобы убедиться, что подходит):

-appConnTimeout n (0 секунд)
Unix: количество секунд ожидания подключения к приложению FastCGI для завершения или 0, чтобы указать, что следует использовать блокирующее соединение (). Блокирующие connect () имеют внутренний тайм-аут, зависящий от ОС. По истечении тайм-аута SERVER_ERROR полученные результаты. Для ненулевых значений это количество времени, которое используется в select () для записи в файловый дескриптор, возвращаемый неблокирующей функцией connect (). Неблокирующие методы connect () вызывают проблемы на многих платформах. См. Также -idle-timeout, он дает аналогичные результаты, но более переносимым способом.
Windows NT: приложения на основе TCP работают как указано выше. Приложения на основе именованных каналов (статические приложения, настроенные без параметра -port и динамические приложения) успешно используют это значение, чтобы ограничить время ожидания соединения (т. Е. Это не "хлопотно"). По умолчанию это 90 секунд (FCGI_NAMED_PIPE_CONNECT_TIMEOUT в mod_fastcgi.h).

-idle-timeout n (30 секунд)
Допустимое количество секунд бездействия приложения FastCGI до того, как запрос будет прерван и событие будет зарегистрировано (с ошибкой LogLevel). Таймер бездействия применяется только до тех пор, пока ожидается соединение с приложением FastCGI. Если запрос помещен в очередь для приложения, но приложение не отвечает (путем записи и сброса) в течение этого периода, запрос будет прерван. Если связь с приложением завершена, но с клиентом не завершена (ответ помещается в буфер), тайм-аут не применяется.

-min-server-life n (30)
Минимальное количество секунд, в течение которых приложение должно работать, прежде чем интервал его перезапуска увеличится до 600 секунд. Сервер получит 3 попытки запустить хотя бы это количество секунд.

В Apache вам нужна директива Timeout. На некоторых дистрибутивах по умолчанию 300 или около того. Многие люди начали снижать это значение, чтобы смягчить атаки типа "Slowloris".

Timeout 10

Если хотите, можно установить до 10 минут:

Timeout 600