【问题标题】:Random 403 errors with apache+php-fpmapache+php-fpm 出现随机 403 错误
【发布时间】:2017-02-04 19:58:30
【问题描述】:

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

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

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

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

【问题讨论】:

  • 您好,您解决了吗?我面临着类似的问题。你能帮忙吗?
  • 返回 403 的路径有什么共同点吗?一组特定的 PHP 脚本?服务器上运行的任何修改 PHP 文件内容或权限的东西?
  • 你能分享一下apache和php-fpm的日志吗?
  • in /etc/php(version)?/fpm/pool.d/www.conf 添加/取消注释 catch_workers_output ,所以允许 PHP 的 stderr转到 php-fpm 的错误日志而不是 /dev/null 。
  • 是来自特定框架/wordpress 还是随机来自所有应用?

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


【解决方案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

【讨论】:

  • 没用过mod_evasive,第一次听说它的存在
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-09-08
  • 1970-01-01
  • 2014-08-05
  • 2012-05-19
  • 2017-09-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多