在我的服务器上,用Apache 2.4.23和php-fpm 7.0.11运行Ubuntu 14.04.5,我得到随机的403错误。
我说“随机”,因为我在使用403的日志中看到的页面在我尝试时运行正常。另外,我直接体验过(我的意思是通过我的浏览器访问服务器上的站点)我得到403错误,然后重试(只是刷新)我得到了200。
服务器正在运行一些网站(大约十几个),有各种解决方案(一些Wordpress,一些旧的意大利面php应用程序,主要是基于Symfony框架的现代应用程序)。
如果有人能指出我某些方法来增加某些日志的详细程度,我也会很高兴尝试自己解决这个问题。目前我在vhosts的apache日志中看到403错误。
答案 0 :(得分:1)
是`mod_evasive'已启用?要查看,请尝试
ls /etc/apache2/mods-enabled/
如果你看到mod-evasive.load,则启用apache模块mod-evasive。
此模块的目标是当来自同一台PC(ip)的太多请求或者在很短的时间内查看了大量页面时,拒绝使用403请求进行访问。 ip在某段时间内有所阻塞。 有时刷新页面可以解决问题,但它仍然很烦人。
你能做的是
1)禁用
a2dismod mod-evasive
和
service apache2 restart
或
2)找到httpd.conf文件并修改不同的参数。将mod_evasive的阈值提高为不太敏感
通过以下内容修改默认值:
<IfModule mod_dosevasive.c>
DOSHashTableSize 3097
DOSPageCount 5
DOSSiteCount 100
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 2
</IfModule>
MODEV_DOSPageCount
这是每页间隔相同页面(或URI)的请求数量的阈值。一旦超过该时间间隔的阈值,客户端的IP地址将被添加到阻止列表中。
MODEV_DOSPageInterval
页数阈值的间隔;默认为1秒间隔。
等......你可以改变它们
所有参数和最佳解决方案在此解释