我正在尝试将mod_evasive与centos7上的httpd集成。模块已安装并在重新启动时由httpd加载。但是,它没有获取/etc/httpd/conf.d/mod_evasive.conf
文件中指定的参数,如下所示。
LoadModule evasive20_module modules / mod_evasive24.so
<IfModule mod_evasive24.c>
DOSHashTableSize 3097
DOSPageCount 20
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 10
DOSEmailNotify xyz@mail.com
DOSLogDir“/ var / log / mod_evasive”
</IfModule>
我正在通过一个perl脚本测试性能 -
#!/usr/bin/perl
# test.pl: small script to test mod_dosevasive's effectiveness
use IO::Socket;
use strict;
for(0..300) {
my($response);
my($SOCKET) = new IO::Socket::INET( Proto => "tcp",
PeerAddr=> "172.31.19.247:80");
if (! defined $SOCKET) { die $!; }
print $SOCKET "GET /?$_ HTTP/1.0\n\n";
$response = <$SOCKET>;
print $response;
close($SOCKET);
}
我执行的命令是perl test.pl > sample.txt
在sample.txt中,我收到前120个请求的HTTP/1.1 200 OK
和所有剩余请求的HTTP/1.1 403 Forbidden
。但根据我的理解,配置集,它应该开始拒绝超出DOSSiteCount
文件中mod_evasive.conf
中指定的50个请求。我在这里错过了什么吗?