我的网络服务器有问题。当我点击快速浏览时,例如 Seafile 或 Roundcube,一小段时间后会显示 403 Forbidden Error。然后我唯一能做的就是等待约 10 秒,然后继续我的工作。Apache 日志仅显示以下内容:
[Thu Oct 22 14:48:53.068806 2015] [evasive20:error] [pid 3725] [client 95.88.156.113:52747] client denied by server configuration: /var/www/seahub.fcgi, referer: [Seahub Adress]
我正在运行 apache 2.4.7,并且在 apache2.conf 中目录设置为Require all granted
和Options Indexes FollowSymLinks
:
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
<Directory /var/lib/roundcube>
Options Indexes FollowSymLinks
Require all granted
</Directory>
<Files /var/www/seahub.fcgi>
Options Indexes FollowSymLinks
Require all granted
</Files>
<Directory /home/seafile>
Options Indexes FollowSymLinks
Require all granted
</Directory>
即使在 seafile 的 sites-available 条目中,也设置了以下标签<Location>
:
....
DocumentRoot /var/www
Alias /media /home/seafile/haiwen/seafile-server-latest/seahub/media
RewriteEngine On
<Location /media>
Require all granted
</Location>
<Directory /home/seafile>
Require all granted
AllowOverride All
</Directory>
....
那儿发生什麼事了?!
答案1
您的 apache http 正在开启 mod_evasive 的情况下运行。
该模块是针对网络服务器的 DDoS 攻击的保护层。
mod_evasive 以某种方式将您的访问检测为 DDoS 尝试。日志中记录了/var/log/mod_evasive
所有信息。您可以从那里开始检查它为何将您的访问检测为 DDoS 尝试。
假设您使用官方 Ubuntu 存储库安装了所有内容,您可以通过a2dismod mod-evasive
命令禁用 mod_evasive,然后重新加载您的 apache。