Apache mod_evasive未在centos7上更新

Apache mod_evasive未在centos7上更新,apache,httpd.conf,mod-evasive,Apache,Httpd.conf,Mod Evasive,我正在尝试在centos7上将mod_evasive与httpd集成。模块已安装,并在重新启动时由httpd加载。但是,它没有拾取下面指定的/etc/httpd/conf.d/mod_evasive.conf文件中指定的参数 LoadModule evasive20_模块模块/mod_evasive24.so DOSHashTableSize 3097 DOSPageCount 20 DOSSiteCount 50 DOSPageInterval 1 剂量间隔1 剂量阻断周期10 电子邮件通知

我正在尝试在centos7上将mod_evasive与httpd集成。模块已安装,并在重新启动时由httpd加载。但是,它没有拾取下面指定的
/etc/httpd/conf.d/mod_evasive.conf
文件中指定的参数

LoadModule evasive20_模块模块/mod_evasive24.so

DOSHashTableSize 3097
DOSPageCount 20
DOSSiteCount 50
DOSPageInterval 1
剂量间隔1
剂量阻断周期10
电子邮件通知xyz@mail.com
DOSLogDir“/var/log/mod_evasive”

我正在用一个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);
}
#/usr/bin/perl
#test.pl:测试mod_dosevasive有效性的小脚本
使用IO::Socket;
严格使用;
对于(0..300){
我的回答;
my($SOCKET)=新IO::SOCKET::INET(Proto=>“tcp”,
PeerAddr=>“172.31.19.247:80”);
如果(!defined$SOCKET){die$!;}
打印$SOCKET“获取/?$\uhttp/1.0\n\n”;
$response=;
打印$response;
关闭($插座);
}
我执行的命令是
perl test.pl>sample.txt


在sample.txt中,对于前120个请求,我得到了
HTTP/1.1200ok
,对于所有剩余的请求,我得到了
HTTP/1.1403禁止
。但根据我的理解,配置集必须开始拒绝
mod_evasive.conf
文件中指定的超过50个请求。我是不是遗漏了什么

请删除IfModule标记,并在命名不匹配时重试。模块标识符与模块文件的名称不同,并且官方页面建议使用不同的模块标识符创建模块。如果您打算以任何方式使用该模块,那么整个ifmodule的使用都是不必要的。嗨,ezra-s,我尝试删除“ifmodule”,仍然是相同的结果。我最感兴趣的是“DOSPageCount”和“DOSSiteCount”之间的依赖关系。它们是如何相互关联的?