解决间歇性的Apache 400错误请求错误

我试图在我的应用程序中debugging问题,并寻找build议或疑难解答提示。

我的应用程序由一个移动应用程序通过HTTPS向Apache提交数据(使用mod_proxy转发到Django服务器)。 不过,我已经在django层添加了日志logging,似乎表明400是直接来自Apache,并且根本没有被转发。

此外,这只发生在一个非常小的POST子集。 由于问题的频率不高以及来自手机的事实,我无法访问它,因此难以复制和debugging。

我应该考虑哪些types的问题来解决这个问题? 我已经find了这个职位,但我已经在Apache 2.2.22,所以这似乎不是问题。

由于请求的数量,我犹豫是否将完整的日志logging添加到每个请求(虽然也许我可以做一些条件日志?)。

寻找build议:

  • 根本问题可能是什么。 例如,什么types的问题引入这样的间歇性400
  • 如何获得服务器端的更多信息来帮助诊断,因为我无法访问客户端数据。

从RFC2616,400 是一个坏请求 :

由于格式错误,服务器无法理解请求。 客户端不应该不加修改地重复请求。

所以有一些关于请求是造成400.事情你可以尝试:

  • 检查你的Apache错误日志; 您还可以将日志级别从warn (默认)增加到debug ,然后检查错误日志
  • 检查这种请求的tcpdump(许多教程都可以在网上find) – 这可能是find根本原因的最佳select。

这里有一篇关于在IIS上排除400个错误的博客文章,这可能也是有帮助的。