apache + php-fpm随机403错误

时间:2016-09-27 08:58:52

标签: php apache http-status-code-403 fpm

在我的服务器上,用Apache 2.4.23和php-fpm 7.0.11运行Ubuntu 14.04.5,我得到随机的403错误。

我说“随机”,因为我在使用403的日志中看到的页面在我尝试时运行正常。另外,我直接体验过(我的意思是通过我的浏览器访问服务器上的站点)我得到403错误,然后重试(只是刷新)我得到了200。

服务器正在运行一些网站(大约十几个),有各种解决方案(一些Wordpress,一些旧的意大利面php应用程序,主要是基于Symfony框架的现代应用程序)。

如果有人能指出我某些方法来增加某些日志的详细程度,我也会很高兴尝试自己解决这个问题。目前我在vhosts的apache日志中看到403错误。

1 个答案:

答案 0 :(得分:1)

是`mod_evasive'已启用?要查看,请尝试

ls /etc/apache2/mods-enabled/如果你看到mod-evasive.load,则启用apache模块mod-evasive。

此模块的目标是当来自同一台PC(ip)的太多请求或者在很短的时间内查看了大量页面时,拒绝使用403请求进行访问。 ip在某段时间内有所阻塞。 有时刷新页面可以解决问题,但它仍然很烦人。

你能做的是

1)禁用 a2dismod mod-evasiveservice 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秒间隔。

等......你可以改变它们

所有参数和最佳解决方案在此解释

https://wiki.atomicorp.com/wiki/index.php/Mod_evasive