Desativar os tempos limite no httpd e no fastcgi do apache

2

Um servidor debian lenny, executando o apache httpd 2.2.11 e fastcgi, mata pedidos quando eles demoram mais do que uma certa quantidade de segundos. Eu quero desabilitar esse tempo limite para permitir-me a depurar um aplicativo que é iniciado usando o fastcgi.

Eu pesquisei na documentação do apache e do lighttpd, mas não consegui encontrar nada (apenas opções como o idle-timeout, não é o caso aqui, eu acho).

Alguém sabe como controlar esse tempo limite? Obrigado.

    
por Kknd 03.11.2009 / 13:55

2 respostas

4

Parece que você deseja uma das diretivas FastCGI : FastCGIServer, FastCGIConfig ou FastCgiExternalServer, dependendo. FastCGIConfig afeta todos os aplicativos FastCGI; os outros dois são por aplicativo. Você vai querer uma dessas opções (verifique os documentos para ter certeza de qual é o apropriado):

-appConnTimeout n (0 seconds)
Unix: The number of seconds to wait for a connection to the FastCGI application to complete or 0 to indicate a blocking connect() should be used. Blocking connect()s have an OS dependent internal timeout. If the timeout expires, a SERVER_ERROR results. For non-zero values, this is the amount of time used in a select() to write to the file descriptor returned by a non-blocking connect(). Non-blocking connect()s are troublesome on many platforms. See also -idle-timeout, it produces similar results but in a more portable manner.
Windows NT: TCP based applications work as above. Named pipe based applications (static applications configured without the -port option and dynamic applications) use this value successfully to limit the amount of time to wait for a connection (i.e. it's not "troublesome"). By default, this is 90 seconds (FCGI_NAMED_PIPE_CONNECT_TIMEOUT in mod_fastcgi.h).

-idle-timeout n (30 seconds)
The number of seconds of FastCGI application inactivity allowed before the request is aborted and the event is logged (at the error LogLevel). The inactivity timer applies only as long as a connection is pending with the FastCGI application. If a request is queued to an application, but the application doesn't respond (by writing and flushing) within this period, the request will be aborted. If communication is complete with the application but incomplete with the client (the response is buffered), the timeout does not apply.

-min-server-life n (30)
The minimum number of seconds the application must run for before its restart interval is increased to 600 seconds. The server will get 3 tries to run for at least this number of seconds.

    
por 03.11.2009 / 14:26
0

No Apache, a diretiva que você quer é Timeout. Em algumas distros, o padrão é 300 ou mais. Muitas pessoas começaram a reduzir isso para mitigar os ataques do tipo "Slowloris".

Timeout 10

Deve ser capaz de definir até 10 minutos, se quiser:

Timeout 600
    
por 03.11.2009 / 16:35