Sak*_*con 5 centos 400 apache-2.2
最近,我将我的服务器从一个提供商移到另一个提供商,并开始在 apache 错误日志中收到此消息:
“请求失败:读取标题时出错”
错误示例和相应的访问 apache 日志:
ApacheServer$ cat error_log
ApacheServer [Tue Jan 20 11:07:44 2015] [error] [client x.x.x.x] request failed: error reading the headers
ApacheServer$ cat access_log
x.x.x.x - - [20/Jan/2015:11:06:44 +0200] "GET SomeRandomRequest HTTP/1.1" 400 226 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.3; WOW64; Trident/7.0; .NET4.0E; .NET4.0C; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729; BRI/2; MAARJS)" "-"
Run Code Online (Sandbox Code Playgroud)
我必须承认,除了 php 版本(从 5.3 到 5.4)之外,没有任何变化。
我没有看到与某些特定浏览器或某些特定请求的任何关系,这完全是随机的。
这也不是交换机问题,因为我在其他不共享同一交换机的 apache 服务器上也遇到了同样的问题。
直到现在我尝试:
- 更新网卡驱动程序
- 将 RX 从 256 提高到 4096 使用: ethtool -G eth1 rx 4096
- 将第二块网卡绑定到接口
- 多次谷歌这个问题,但没有找到解决方案或相同的问题.
服务器版本:Apache/2.2.15-39 (Unix)
centos 6.5
这可能是一个客户问题,但为什么你之前没有得到它,我无法说。
当 Apache 接收到在标头部分结束之前未完成的请求时,会记录该错误。因此,至少 Apache 已收到请求行,例如,GET / HTTP/1.0
但在此之后已发送了一组有效的标头。
因此,它可能根本没有标头,也可能是一堆没有空行的标头,该空行指示标头和请求正文之间的边界。
我想您的两次安装之间的默认 PHP 超时可能已更改,因此值得检查,但实际上这表明有不良(或缓慢)客户端向您的 Web 服务器发出请求。
归档时间: |
|
查看次数: |
10560 次 |
最近记录: |