在Apache2中,您可以使用mod_evasive
模塊來限制訪問頻率。以下是如何安裝和配置mod_evasive
的步驟:
mod_evasive
模塊。在Debian/Ubuntu系統上,您可以使用以下命令安裝:sudo apt-get update
sudo apt-get install libapache2-mod-evasive
對于其他Linux發行版,請使用相應的包管理器。
mod_evasive
模塊。在Debian/Ubuntu系統上,您可以使用以下命令啟用模塊:sudo a2enmod evasive
對于其他Linux發行版,請使用相應的包管理器。
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地址在多長時間內不能訪問(以秒為單位)。您可以根據需要調整這些設置。
sudo systemctl restart apache2
現在,mod_evasive
將限制訪問頻率,防止惡意用戶對您的網站發起攻擊。