在Apache配置中,可以使用mod_evasive模塊來限制訪問頻率。mod_evasive是一個用于防止DDoS攻擊和限制訪問頻率的模塊。以下是如何安裝和配置mod_evasive的步驟:
安裝mod_evasive模塊。在Debian/Ubuntu系統上,可以使用以下命令安裝:
sudo apt-get install libapache2-mod-evasive
在CentOS/RHEL系統上,可以使用以下命令安裝:
sudo yum install mod_evasive20
啟用mod_evasive模塊。在Debian/Ubuntu系統上,可以使用以下命令啟用:
sudo a2enmod evasive
在CentOS/RHEL系統上,可以使用以下命令啟用:
sudo systemctl enable mod_evasive20
編輯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>
這里的配置表示:
DOSPageInterval時間內允許的最大頁面請求次數。這里設置為2,表示在1秒內允許最多2次請求。DOSSiteInterval時間內允許的最大站點請求次數。這里設置為50,表示在1秒內允許最多50次請求。保存配置文件并重啟Apache服務。在Debian/Ubuntu系統上,可以使用以下命令重啟:
sudo systemctl restart apache2
在CentOS/RHEL系統上,可以使用以下命令重啟:
sudo systemctl restart httpd
現在,Apache已經配置好了訪問頻率限制。當訪問頻率超過限制時,mod_evasive會阻止相應的IP地址訪問網站。