我正在我的 Ubuntu LAMP 服务器上安装 mod_evasive。我遵循了简单的说明:
sudo apt-get install libapache2-mod-evasive
sudo mkdir /var/log/mod_evasive
sudo chown www-data:www-data /var/log/mod_evasive/
sudo vi /etc/apache2/mods-available/mod-evasive.conf
<ifmodule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 10
DOSLogDir /var/log/mod_evasive
DOSEmailNotify [email protected]
</ifmodule>
sudo a2enmod mod-evasive
sudo /etc/init.d/apache2 restart
但每当我重新启动 Apache 时,我都会收到以下警告:
[Mon Jan 28 20:27:16 2013] [warn] module evasive20_module is already loaded, skipping
... waiting [Mon Jan 28 20:27:18 2013] [warn] module evasive20_module is already loaded, skipping
我尝试运行perl /usr/share/doc/libapache2-mod-evasive/examples/test.pl
来测试它,但是我一直收到HTTP/1.0 200 OK
,从来没有收到403 Forbidden
。有人知道可能发生了什么吗?如上所示,配置位于/etc/apache2/mods-available/mod-evasive.conf
,加载文件(/etc/apache2/mods-available/mod-evasive.load
)包含:
LoadModule evasive20_module /usr/lib/apache2/modules/mod_evasive20.so
我将非常感激您的帮助。谢谢!
答案1
该模块正在尝试加载两次,因此您应该注释掉以下其中一行:
如果你使用的是 Apache 1.3,请/etc/httpd/mods-enabled/evasive20.load
注释掉
LoadModule evasive_module /usr/lib/apache2/modules/mod_evasive.so
如果你使用的是 Apache 2,请/etc/httpd/mods-enabled/mod-evasive.load
注释掉
LoadModule evasive20_module /usr/lib/apache2/modules/mod_evasive20.so