Apache-2.2

禁用 apache httpd 和 fastcgi 的超時

  • January 7, 2020

執行 apache httpd 2.2.11 和 fastcgi 的 debian lenny 伺服器會在請求超過一定秒數時終止請求。我想禁用此超時以使我能夠調試使用 fastcgi 啟動的應用程序。

我在 apache 和 lighttpd 文件中都進行了搜尋,但找不到任何東西(我認為只有空閒超時之類的選項,這裡不是這種情況)。

任何人都知道如何控制這個超時?謝謝。

看起來您需要FastCGI 指令之一:FastCGIServer、FastCGIConfig 或 FastCgiExternalServer,具體取決於。 FastCGIConfig影響所有 FastCGI 應用程序;另外兩個是每個應用程序。您將需要以下選項之一(檢查文件以確保哪個合適):

-appConnTimeout n(0 秒)

Unix:等待與 FastCGI 應用程序的連接完成的秒數或 0 表示應使用阻塞的 connect()。阻塞 connect()s 有一個依賴於作業系統的內部超時。如果超時到期,則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 次嘗試執行至少此秒數。

引用自:https://serverfault.com/questions/80929