在Apache服務器中,可以使用mod_evasive
模塊來限制訪問頻率。以下是如何安裝和配置mod_evasive
的步驟:
mod_evasive
模塊:對于Debian/Ubuntu系統,使用以下命令安裝:
sudo apt-get update
sudo apt-get install libapache2-mod-evasive
對于CentOS/RHEL系統,使用以下命令安裝:
sudo yum install mod_evasive
mod_evasive
模塊:對于Debian/Ubuntu系統,使用以下命令啟用模塊:
sudo a2enmod evasive
對于CentOS/RHEL系統,使用以下命令啟用模塊:
sudo systemctl enable mod_evasive
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
:設置單個頁面在一定時間內的允許訪問次數。DOSSiteCount
:設置單個網站在一定時間內的允許訪問次數。DOSPageInterval
:設置時間間隔(以秒為單位),用于計算頁面訪問次數。DOSSiteInterval
:設置時間間隔(以秒為單位),用于計算網站訪問次數。DOSBlockingPeriod
:設置封鎖時間(以秒為單位),超過訪問限制的IP地址將被封鎖。根據實際需求調整這些參數。
對于Debian/Ubuntu系統,使用以下命令重啟Apache:
sudo systemctl restart apache2
對于CentOS/RHEL系統,使用以下命令重啟Apache:
sudo systemctl restart httpd
現在,Apache服務器已經配置好了基于mod_evasive
的訪問頻率限制。請注意,這只是一個基本的示例,您可能需要根據實際需求調整配置。