在Apache2中,您可以使用mod_evasive模块来限制访问频率。以下是如何安装和配置mod_evasive的步骤:
mod_evasive模块。在Debian/Ubuntu系统上,您可以使用以下命令安装:sudo apt-get update
sudo apt-get install libapache2-mod-evasive
对于其他Linux发行版,请使用相应的包管理器。
mod_evasive模块。在Debian/Ubuntu系统上,您可以使用以下命令启用模块:sudo a2enmod evasive
对于其他Linux发行版,请使用相应的包管理器。
mod_evasive。编辑Apache配置文件(例如/etc/apache2/apache2.conf或/etc/httpd/conf/httpd.conf),添加以下内容:<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 10
</IfModule>
这些设置的解释如下:
DOSHashTableSize:用于存储IP地址和其他信息的哈希表的大小。较大的值可以提供更高的性能,但也会占用更多的内存。DOSPageCount:在DOSPageInterval秒内允许的最大请求数。超过此限制的IP地址将被阻止。DOSSiteCount:在DOSSiteInterval秒内允许的最大请求数。超过此限制的IP地址将被阻止。DOSPageInterval:计算页面请求之间的时间间隔(以秒为单位)。DOSSiteInterval:计算站点请求之间的时间间隔(以秒为单位)。DOSBlockingPeriod:被阻止的IP地址在多长时间内不能访问(以秒为单位)。您可以根据需要调整这些设置。
sudo systemctl restart apache2
现在,mod_evasive将限制访问频率,防止恶意用户对您的网站发起攻击。