为什么Apache给403?

时间:2010-04-02 23:56:31

标签: php apache

当我通过我在XCode / Objective-C中构建的桌面应用程序发送太多12个同步HTTP帖子时,我从Apache获得403错误。 12个POST请求每个只有几kb并且一个接一个地立即出去,Apache错误日志显示...

客户端被服务器配置拒绝:/the-path/the-file.php

Apache 2.0 PHP 5和我在本地计算机上使用相同的设置正常工作。错误来自我的主机的VPS,它运行速度非常快,流畅且资源充足。调试我扔了一个睡眠(1);函数(将脚本执行1秒)停止到php文件中并修复它。这让我觉得我在一定时间内对单个IP的过多请求打破了一些限制。我用谷歌搜索和梳理PHP ini和Apache配置,但我找不到那个指令/设置。

我应该提一下,虽然它改变了前4或5个POSTS通常工作,然后它会在此之后间歇性地开始返回403错误。只是真的表现得像是陷入困境。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

错误告诉你一切:很可能你的VPS在他们的网络服务器上有洪水控制,这可以在4或5个快速连续的点击中进行。这与PHP本身无关,而是与Apache完全相关。换句话说,您的家庭设置与VPS的设置不同。

答案 1 :(得分:0)

尝试关闭或配置mod_evasive。它是Apache在发生HTTP DoS或DDoS攻击或暴力攻击时提供规避操作的模块。 (Here you can read more about it)。使用命令关闭mod_evasive:

a2dismod mod-evasive
service apache2 restart