温馨提示×

Apache2中如何限制访问频率

小樊
47
2025-10-08 07:25:25
栏目: 编程语言

在Apache2中,您可以使用mod_evasive模块来限制访问频率。以下是如何安装和配置mod_evasive的步骤:

  1. 安装mod_evasive模块。在Debian/Ubuntu系统上,您可以使用以下命令安装:
sudo apt-get update
sudo apt-get install libapache2-mod-evasive

对于其他Linux发行版,请使用相应的包管理器。

  1. 启用mod_evasive模块。在Debian/Ubuntu系统上,您可以使用以下命令启用模块:
sudo a2enmod evasive

对于其他Linux发行版,请使用相应的包管理器。

  1. 配置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地址在多长时间内不能访问(以秒为单位)。

您可以根据需要调整这些设置。

  1. 重启Apache服务以应用更改:
sudo systemctl restart apache2

现在,mod_evasive将限制访问频率,防止恶意用户对您的网站发起攻击。

0