Apache 偶尔会返回 400“错误请求标头字段缺少‘:’olhuaqv3o1t29flvr0(随机字符串)”错误。这似乎与 https 访问有关,并且发生在 Firefox、IE、Chrome 等浏览器中。我正在使用 rapidssl 的证书。
Apache/2.2.14(Ubuntu)DAV/2 SVN/1.6.6 mod_jk/1.2.28 PHP/5.3.2-1ubuntu4.5 带有 Suhosin-Patch mod_ssl/2.2.14 OpenSSL/0.9.8k
有人知道怎么修这个东西吗?
答案1
我在使用 apache 2.2.9 时遇到了这个问题,升级到 apache 2.2.22 后这个问题就解决了。
我会在某些页面请求中收到随机的 400 响应代码。有时是图像,有时是 AJAX 请求。有时页面本身会随此消息一起返回 400。
错误请求 您的浏览器发送了此服务器无法理解的请求。请求标头字段缺少“:”分隔符。 live
我发现以下错误报告似乎与之相关。该错误已在 apache 2.2.15 中修复:https://bugzilla.redhat.com/show_bug.cgi?id=652335
我认为这个错误是使用 https 时导致大量随机错误的原因:您的浏览器发送了一个该服务器无法理解的请求,请求标头字段缺少“:”分隔符。
因此我想我会尝试更新到最新的 apache - 而且这似乎有效。
答案2
如果您使用 Windows 作为客户端计算机,则可以尝试 fiddler (http://www.fiddler2.com/fiddler2/)
这似乎是 Http 协议违规,因为我最近一直在尝试使用 http(s) 代理,并且看到了很多类似的无法追踪的错误。这似乎不是浏览器或 Apache 的问题,因此如果您进行远程测试,请考虑网络连接不稳定的可能性。