0

我正在尝试在 centos7 上将 mod_evasive 与 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 中,我得到HTTP/1.1 200 OK了前 120 个请求和HTTP/1.1 403 Forbidden所有剩余的请求。但根据我的理解,配置集,它应该开始拒绝超过文件中指定的 50 个DOSSiteCount请求mod_evasive.conf。我在这里错过了什么吗?

4

0 回答 0