溫馨提示×

Apache配置里如何限制訪問頻率

小樊
46
2025-09-30 02:08:25
欄目: 編程語言

在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. 編輯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>
    

    這里的配置表示:

    • DOSHashTableSize:哈希表的大小,用于存儲IP地址和訪問計數。建議設置為3097,因為這是一個質數,有助于減少哈希沖突。
    • DOSPageCount:在DOSPageInterval時間內允許的最大頁面請求次數。這里設置為2,表示在1秒內允許最多2次請求。
    • DOSSiteCount:在DOSSiteInterval時間內允許的最大站點請求次數。這里設置為50,表示在1秒內允許最多50次請求。
    • DOSPageInterval:計算頁面請求次數的時間間隔。這里設置為1秒。
    • DOSSiteInterval:計算站點請求次數的時間間隔。這里設置為1秒。
    • DOSBlockingPeriod:當達到訪問限制時,阻止IP地址的時間(以秒為單位)。這里設置為10秒。
  4. 保存配置文件并重啟Apache服務。在Debian/Ubuntu系統上,可以使用以下命令重啟:

    sudo systemctl restart apache2
    

    在CentOS/RHEL系統上,可以使用以下命令重啟:

    sudo systemctl restart httpd
    

現在,Apache已經配置好了訪問頻率限制。當訪問頻率超過限制時,mod_evasive會阻止相應的IP地址訪問網站。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女