了解“408请求超时”在Apache和PHP(Understanding “408 Request

2019-08-17 04:21发布

问题描述- Apache日志

我发现类似这样一个在Apache日志文件的项目:

166.147.68.243 [24/Feb/2013:06:06:25 -0500] 19 web-site.com "-" 408 - "-"

我有自定义日志格式和408在这里代表的地位。 日志格式为:

LogFormat "%h %t %D %V \"%r\" %>s %b \"%{User-agent}i\"" detailed

并且通常在日志文件中的行看起来像

184.73.232.108 [26/Feb/2013:08:38:16 -0500] 30677 www.site.com "GET /api/search... HTTP/1.1" 200 205 "Zend_Http_Client"

这就是为什么408个错误线条看起来很奇怪,我。 没有请求被记录,我有什么应该优化不知道。

问题

如何解决这个问题? 我应该收集哪些信息,或登录? 什么可能导致这个问题? 这是不是错误的服务器上? 或者,这是绝对的网络连接问题?

我解决这个,因为我们的客户抱怨说,他已经得到了他的手机上的408错误。 我发现很多记录在日志文件中,但我不得不承认,我不知道该怎么做这。


我自己的研究

有关于这个问题已经在这里的几个问题。 但人们更具体。 就像他们观点,与一些特定的客户端软件和脚本的问题。 在这里,我在iPhone上打开某些网页时,只是得到了错误。

例如,在HTTP,408请求超时 ,建议做POST之前GET请求。 如果我有自定义客户端,我可以做到这一点。 但我无法控制用户的浏览器的行为。

猜#1

当搜索互联网和思考,我发现这个问题https://serverfault.com/questions/383290/too-many-408-error-codes-in-access-log

该建议是更新Timeout配置参数恢复到默认值。

#
# Timeout: The number of seconds before receives and sends time out.
#
Timeout 300

我尝试了价值30第一,因为我认为30 seconds值至少应是足够的。 但即使是300秒默认值,我继续得到日志中的错误。 我做了tail -f当我在写这段文字,并获得在几分钟内超过10行。

对我来说,这看起来不完整的解决方案。

Answer 1:

关于这个问题的一些研究之后,我来到了以下的答案。 它是由我们的主要开发者提供的,我认为这是对主题的很好的解释。

这些错误是完全正常的。 他们不是一个更大的问题的迹象,但持有的Apache打开超过所允许的时间正常连接。

例如,客户端的查询运行它们一遍又一遍不停的Apache开放。 Apache的回应是适当关闭他下来。

如果不是,不是极少数人可能会接管我们的服务器,不允许任何人进行连接。

大多数情况下,这些错误是由系统寻找漏洞来了,你可以通过打开Telnet会话,并任由重新创建它。

与此同时,尾-f访问日志,和X时间(KeepAliveTimeout的),那么您会看到您的IP弹出一个具有相同错误代码。

早在Apache的1.3天,这个错误很常见,但随后2.2走了出来,他们不得不删除它,直到足够我们的要求将货物退回,因为它给了我们多少人是抱着开放的只是港口的想法,不要求实际的资源,等等。

我觉得不应该有其他在这里完成,除了要确保我在原来的问题已经说明超时设置为一些合理值。



Answer 2:

其实很多在Apache日志408个的消息是在现代浏览器的结果预取机制。 从近3年来在寻找Apache日志408错误的数量翻了一倍相同流量的更多。



Answer 3:

如果有一个代理在Apache的成立,以及后端不及时出于某种原因响应,同408 - - 将在日志中看到。 代理超时被单独配置,这就是为什么改变了Apache默认的超时时间似乎并没有做那些事情的请求。



文章来源: Understanding “408 Request Timeout” on Apache with PHP