24

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

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

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

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

4

1 回答 1

4

是否启用了“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

于 2017-08-01T05:50:37.070 回答