什么原因导致 400 Bad Request 错误为空(“”),为什么我们的 nginx 日志会有这么多?

什么原因导致 400 Bad Request 错误为空(“”),为什么我们的 nginx 日志会有这么多?

Logwatch 的每日日志会定期从我们的 nginx 日志中报告“400 Bad Request, null: 1744 Time(s)”。

日志条目如下所示:

123.123.123.123 - - [25/Jan/2011:14:44:19 -0500] "-" 400 173 "-" "-"

有人能解释一下这些是如何产生的,以及为什么会有这么多吗?它似乎没有造成任何损害,但我们一天内最多会出现 8000 个。我们托管了一个在 unicorn 和 nginx 上运行的中型 rails 应用程序。

一些讨论在 nginx 论坛中,但我还没有找到真正减少记录的 400 个错误请求数量的解决方案。

答案1

这通常是浏览器使用 Keep-Alive 并达到 Keep-Alive 超时时间时发生的。这很正常。

如果您看到带有 URI/路径/方法(例如 GET 或 POST 等)的 400 错误,则表明用户发出了错误请求,这确实是一个问题。但这种情况应该很少见。

相关内容