为什么我的访问日志中突然有400个请求?


10

以下是我的access_log的一小部分

118.186.8.50 - - [19/Dec/2011:22:42:57 +0800] "-" 400 0 "-" "-"
05
118.186.8.50 - - [19/Dec/2011:22:42:57 +0800] "-" 400 0 "-" "-"
06
118.186.8.50 - - [19/Dec/2011:22:42:57 +0800] "-" 400 0 "-" "-"
07
118.186.8.50 - - [19/Dec/2011:22:42:57 +0800] "-" 400 0 "-" "-"
08
118.186.8.50 - - [19/Dec/2011:22:42:57 +0800] "-" 400 0 "-" "-"
09
220.173.136.39 - - [19/Dec/2011:22:43:22 +0800] "-" 400 0 "-" "-"
10
220.173.136.39 - - [19/Dec/2011:22:43:22 +0800] "-" 400 0 "-" "-"
11
220.173.136.39 - - [19/Dec/2011:22:43:22 +0800] "-" 400 0 "-" "-"
12
220.173.136.39 - - [19/Dec/2011:22:43:22 +0800] "-" 400 0 "-" "-"
13
220.173.136.39 - - [19/Dec/2011:22:43:22 +0800] "-" 400 0 "-" "-"
14
220.173.136.39 - - [19/Dec/2011:22:43:22 +0800] "-" 400 0 "-" "-"

而且数量非常庞大,每秒大约有十万个请求。而且我很确定那段时间我的网站上没有错误。(没有错误报告,并且我没有更改源代码)

Answers:


5

有人在模糊服务器。另请参阅Wikipedia

基本上涉及发送无效数据的快速块以查看是否有任何中断。

Nginx设置为在未发送请求数据时返回400错误错误。

不用担心 Nginx可以一直不断地弹跳它们,而不会冒汗。


他唯一需要担心的是日志文件会占用磁盘空间。这是正确轮换日志的地方。
贾斯汀·皮尔斯

这里同样的问题。在我看来,不同IP地址的数量不会使攻击(模糊测试)变得非常可能。仍在寻找更好的解释。
奥利弗·

2

检查并查看引起400的IP地址是否正在使用Google Chrome。Chrome使用预连接建立与服务器的多个连接,如果不使用,则将其关闭。

由于在连接中没有请求,因此nginx将记录此错误。


我在这里遇到相同的问题,并且我的日志文件格式完全相同,因此我认为OP不会更改默认值。这意味着正在记录用户代理字符串-恰好它不包含任何值。因此,我不确定如何检查这些客户端是否正在使用Chrome。我本人现在无法使用Chrome 26在日志中重现此错误。还有其他提示吗?
奥利弗·

用户代理作为请求标头发送,除非/直到发出请求,否则nginx无法知道并记录用户代理字符串。但是,您可以检查来自该IP地址的其他日志记录,如果该客户端实际上发出了任何实际请求,则可以了解它是否是Chrome。
伊万·阿尼舒克
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.