我们在Apache 2上运行mod_perl并获得看似随机的标头相关错误,我们无法弄清楚。由于网站的性质,我们遇到了大量的机器人,所以我认为这些是由机器人的不良或格式错误的请求引起的,但我想确定一个方向或另一个,所以我知道从哪里开始。以下是我们在日志中看到的两个最常见错误的示例:
[Thu Nov 13 21:40:48 2014] [warn] /whatever did not send an HTTP header
[Thu Nov 13 21:40:48 2014] [error] [client x] malformed header from script. Bad header=\x86z\x03d\x86z\x03d\x86z\x03d\x86z\x03d\x86z\x03d\x86z\x03d\x86z\x03d\x86z: index.cgi
[Fri Nov 14 00:04:17 2014] [warn] /whatever did not send an HTTP header
[Fri Nov 14 00:04:17 2014] [error] [client x] Premature end of script headers: index.cgi
我们每天会向这些相同的网址收到1,000个请求,并且它们在99.999%的时间内正常工作。我不相信它是我们的脚本 - 我们总是输出正确的标题。没有真正的用户曾经抱怨我们网站上的任何错误等等。所以我希望这只是由机器人的一些不好的请求引起的。
如果是这样,如果我们可以做些什么来阻止这些呢?这真是一种痛苦,因为这些错误使我们的监控系统瘫痪,我的技术人员每天都会收到大约20-30个假错误警报。
答案 0 :(得分:0)
原来这是Safari浏览器和mod_deflate压缩的问题。
简单的解决方案:
BrowserMatch Safari gzip-only-text / html