ubuntu

Apache配置中如何限制访问频率

小樊
54
2025-03-07 00:08:38
栏目: 编程语言

在Apache配置中,可以使用mod_evasive模块来限制访问频率。mod_evasive是一个用于防止DDoS攻击和限制访问频率的模块。以下是如何安装和配置mod_evasive的步骤:

  1. 安装mod_evasive模块。在Debian/Ubuntu系统上,可以使用以下命令安装:

    sudo apt-get install libapache2-mod-evasive
    

    在CentOS/RHEL系统上,可以使用以下命令安装:

    sudo yum install mod_evasive20
    
  2. 启用mod_evasive模块。在Debian/Ubuntu系统上,可以使用以下命令启用:

    sudo a2enmod evasive
    

    在CentOS/RHEL系统上,可以使用以下命令启用:

    sudo systemctl enable mod_evasive20
    
  3. 配置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时间内,允许的最大页面请求次数。
    • DOSSiteCount:在DOSSiteInterval时间内,允许的最大站点请求次数。
    • DOSPageInterval:时间间隔,用于计算页面请求次数。
    • DOSSiteInterval:时间间隔,用于计算站点请求次数。
    • DOSBlockingPeriod:被阻止的IP地址在多长时间内不能访问服务器。
  4. 重启Apache服务以使配置生效:

    sudo systemctl restart apache2
    

    sudo systemctl restart httpd
    

现在,mod_evasive将限制访问频率,根据配置的参数阻止恶意访问。请注意,这只是一个基本的示例配置,您可以根据实际需求调整参数。

0
看了该问题的人还看了