mod_evasive 模块的目的在于防止HTTP DoS或者DDoS。
一般的设置项如下:
#place this code in the httpd.conf <IfModule evasive_module> #optional directive (default value equals to 1024) DOSHashTableSize 1024 #obligatory directives (if even one of them is not set, malfunctioning is possible) DOSPageCount 10 DOSSiteCount 150 DOSPageInterval 1 DOSSiteInterval 1 DOSBlockingPeriod 10 </IfModule>
里面可用的指令如下:
Name Description DOSHashTableSize 定义HashTable的大小 DOSPageCount 定义对同一个页面的访问次数(或者URI) DOSSiteCount 定义同一个Client对同网站访问的总次数 DOSPageInterval 页面访问统计的间隔,为1时的意思是1秒钟重置一次PageCount的计数器 DOSSiteInterval 对网站访问的统计间隔 DOSBlockingPeriod 一个Client被禁止访问本站的时间 DOSSystemCommand 当一个Client被列入黑名单之后,系统会使用的命令,你可以用iptables把该IP封掉 DOSCloseSocket 关闭Socket链接,发送403 forbidden状态码
还有一个白名单。
凡是此名单的IP,统统不进行统计。
DOSWhiteList 127.0.0.1 10.0.0.*
至于DOSPageCount和DOSSiteCount的设置,你可以根据你的日志访问来进行统计。
然后再设置这个值。
===========================全文完===========================