描述: | 设置超时和接收请求的最小数据速率 |
---|---|
状态: | 延期 |
模块标识符: | reqtimeout_module |
源文件: | mod_reqtimeout.c |
兼容性: | 在Apache HTTPD 2.2.15和更高版本中可用 |
该模块提供了一种方便的方法来设置超时和接收请求的最小数据速率。如果发生超时或数据速率太低,服务器将关闭相应的连接。
这是在登录的LogLevel
info
。
如果需要,LogLevel
可以对指令进行调整以显式记录它:
LogLevel reqtimeout:info
RequestReadTimeout handshake=5 header=10 body=30
LimitRequestBody
):
RequestReadTimeout body=10,MinRate=1000
RequestReadTimeout header=10-30,MinRate=500
RequestReadTimeout header=20-40,MinRate=500 body=20,MinRate=500
描述: | 设置超时值以完成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的情况下),套接字未至少一个字节(或整个请求之前发送到服务器的过程
httpready
)被接收。配置的握手和标头超时RequestReadTimeout
仅在服务器进程收到套接字后才有效。
对于三个超时阶段(握手,标头或正文)中的每个阶段,都有三种指定超时的方法:
stage=timeout
完成整个阶段所需的时间(以秒为单位)(握手,读取所有请求标头或正文)。值为0表示没有限制。
handshake=0 header=0 body=0
这将mod_reqtimeout
完全禁用(请注意,
handshake=0
这已经是默认设置,可以省略)。
stage=timeout,MinRate=data_rate
与上面相同,但是无论何时接收到数据,超时值都会根据指定的最小数据速率(以字节/秒为单位)增加。
stage=timeout-maxtimeout,MinRate=data_rate
与上面相同,但是超时不会增加到指定超时范围的第二个值以上。