在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
-
配置
mod_evasive
。编辑Apache配置文件(例如/etc/apache2/apache2.conf
或/etc/httpd/conf/httpd.conf
),添加以下内容:DOSHashTableSize 3097 DOSPageCount 2 DOSSiteCount 50 DOSPageInterval 1 DOSSiteInterval 1 DOSBlockingPeriod 10 参数说明:
DOSHashTableSize
:哈希表的大小,用于存储IP地址和访问计数。建议使用质数,以减少哈希冲突。DOSPageCount
:在DOSPageInterval
时间内,允许的最大页面请求次数。DOSSiteCount
:在DOSSiteInterval
时间内,允许的最大站点请求次数。DOSPageInterval
:时间间隔,用于计算页面请求次数。DOSSiteInterval
:时间间隔,用于计算站点请求次数。DOSBlockingPeriod
:被阻止的IP地址在多长时间内不能访问服务器。
-
重启Apache服务以使配置生效:
sudo systemctl restart apache2
或
sudo systemctl restart httpd
现在,mod_evasive
将限制访问频率,根据配置的参数阻止恶意访问。请注意,这只是一个基本的示例配置,您可以根据实际需求调整参数。