<-
Apache > HTTP Server > 文件 > 版本 2.4 > 模組

Apache 模組 mod_reqtimeout

可用的語言:  en  |  fr 

描述設定接收請求的逾時和最小資料傳輸速率
狀態延伸模組
模組識別碼reqtimeout_module
原始檔mod_reqtimeout.c
相容性適用於 Apache HTTPD 2.2.15 和更新版本

摘要

此模組提供一種便利的方式來設定逾時和最小資料傳輸速率以接收請求。一旦發生逾時或資料傳輸速率太低,伺服器將關閉相對應的連線。

這會記錄在 LogLevel info 中。

如有需要,可以調整 LogLevel 指令以明確記錄它

LogLevel reqtimeout:info
Support Apache!

主題

指令

錯誤修正檢查清單

另請參閱

top

範例

  1. 允許 5 秒鐘完成 TLS 交握,10 秒鐘接收請求標頭,30 秒鐘接收請求主體
    RequestReadTimeout handshake=5 header=10 body=30
  2. 允許至少 10 秒鐘接收請求主體。如果用戶端傳送資料,每收到 1000 位元組就將逾時增加 1 秒,逾時沒有上限(除了 LimitRequestBody 間接給予的限制外)
    RequestReadTimeout body=10,MinRate=1000
  3. 允許至少 10 秒鐘接收請求標頭。如果用戶端傳送資料,每收到 500 位元組就將逾時增加 1 秒。但是,不要允許請求標頭超過 30 秒鐘
    RequestReadTimeout header=10-30,MinRate=500
  4. 通常,伺服器應該設定標頭和主體逾時。如果 http 和 https 虛擬主機使用相同的設定,則不應將逾時設定得太低
    RequestReadTimeout header=20-40,MinRate=500 body=20,MinRate=500
top

RequestReadTimeout 指令

描述設定逾時值以完成 TLS 交握,從用戶端接收請求標頭和/或主體。
語法RequestReadTimeout [handshake=timeout[-maxtimeout][,MinRate=rate] [header=timeout[-maxtimeout][,MinRate=rate] [body=timeout[-maxtimeout][,MinRate=rate]
預設值RequestReadTimeout handshake=0 header=20-40,MinRate=500 body=20,MinRate=500
範圍伺服器設定,虛擬主機
狀態延伸模組
模組mod_reqtimeout
相容性適用於版本 2.2.15 及以上版本;在版本 2.3.14 及以下版本中預設為停用。handshake 階段自版本 2.4.39 起可用。

此指令可設定完成 TLS 交握、接收來自客戶端的要求標頭和/或要求本體的不同逾時時間。如果客戶端未能在設定的時間內完成其中任一個階段,則會傳送 408 REQUEST TIME OUT 錯誤。

對於 SSL 虛擬主機,handshake 逾時時間是完成初始 SSL 交握所需的時間。如果使用者的瀏覽器設定為查詢憑證撤銷清單,而 CRL 伺服器無法連線,初始 SSL 交握可能需要經過相當一段時間,直到瀏覽器放棄等待 CRL。因此,handshake 逾時時間應考量 SSL 虛擬主機的這種可能負擔 (如果需要)。本體逾時時間包含了 SSL 重新協商所需的時間 (如果需要)。

當正在使用 AcceptFilter(通常在 Linux 和 FreeBSD 上使用)時,Socket 並未發送至伺服器程序,直到至少收到一個位元組(或整個要求針對 httpready)為止。使用 RequestReadTimeout 設定的交握和標頭逾時只在伺服器程序收到 Socket 之後才會生效。

對於這三個逾時階段 (交握、標頭或本體) 的每一個,有下列三種方法可指定逾時時間

可用的語言:  en  |  fr 

top

意見

請注意
這裡不是問答區。張貼在此處的評論應指出改善文件或伺服器的建議,如果這些評論已實作或被視為無效/離題,可能會被我們的管理員移除。有關如何管理 Apache HTTP Server 的問題應寫信至我們的 IRC 頻道 #httpd,在 Libera.chat 上傳送訊息,或寄送至我們的 郵件清單