在Apache配置中,可以使用mod_evasive模块来限制访问频率。mod_evasive是一个用于防止DDoS攻击和限制访问频率的模块。以下是如何安装和配置mod_evasive的步骤:
安装mod_evasive模块。在Debian/Ubuntu系统上,可以使用以下命令安装:
sudo apt-get install libapache2-mod-evasive
在CentOS/RHEL系统上,可以使用以下命令安装:
sudo yum install mod_evasive20
启用mod_evasive模块。在Debian/Ubuntu系统上,可以使用以下命令启用:
sudo a2enmod evasive
在CentOS/RHEL系统上,可以使用以下命令启用:
sudo systemctl enable mod_evasive20
编辑Apache配置文件。打开/etc/apache2/apache2.conf(Debian/Ubuntu)或/etc/httpd/conf/httpd.conf(CentOS/RHEL)文件,并在<IfModule mod_evasive20.c>和</IfModule>之间添加以下配置:
<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 10
</IfModule>
这里的配置表示:
DOSPageInterval时间内允许的最大页面请求次数。这里设置为2,表示在1秒内允许最多2次请求。DOSSiteInterval时间内允许的最大站点请求次数。这里设置为50,表示在1秒内允许最多50次请求。保存配置文件并重启Apache服务。在Debian/Ubuntu系统上,可以使用以下命令重启:
sudo systemctl restart apache2
在CentOS/RHEL系统上,可以使用以下命令重启:
sudo systemctl restart httpd
现在,Apache已经配置好了访问频率限制。当访问频率超过限制时,mod_evasive会阻止相应的IP地址访问网站。