几个月以来,我们的一些服务器会随机收到 403 Forbidden 消息。在这些服务器上,我们运行 2 个基于 Apache2.0 mpm itk 的 php 应用程序。我们使用 mpm itk 版本,以便我们可以使用与项目相同的用户运行 apache。这些项目有很多图像文件,一些用户在尝试查看这些图像时会收到 403 forbidden 消息。而在其他机器上,同样的图像不会出现这个问题。这也是非常随机的,因为有时他们可以看到图像,但下次却看不到。
每当访问日志中出现 403 禁止错误时,我们都会在 error.log 中收到以下错误消息
Permission denied: <PROJECT_PATH>/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable
对于两个项目中的其中一个,我们没有使用 .htaccess 文件,因此我在它抱怨的位置添加了一个空文件。我还对它进行了 chmod 777,以确保每个人都有权限。但这并没有解决问题。
在网上我大多数时候看到.htaccess 文件的父目录需要足够的权限但是所有者与运行 apache 的用户是同一个用户,所以我认为这没有任何问题。
有任何想法吗?
答案1
大安,
我在 FreeBSD 上使用 apache 和 mpm-itk 时也遇到了同样的问题。看来这个问题在 2011-03-21 发布的 apache2.2-mpm-itk 2.2.17-01 中已经发现并修复。
我已将此升级应用于我的安装,到目前为止,我们的监控没有再收到任何虚假的 403 响应。建议您尝试相同的操作并密切关注情况。
http://lists.err.no/pipermail/mpm-itk/2011-March/000394.html
汤姆
答案2
确保所有父目录都设置了 +x (exec) 位。