CPU疯狂上涨到90%遭到一个叫WinHttp.WinHttpRequest的useragent的频繁骚扰,所以不得不屏蔽这个useragent,nginx屏蔽useragent的配置如下:
if ($http_user_agent ~* "WinHttp.WinHttpRequest") { return 403; }
这条语句是根据正则来匹配,如果User Agent匹配上了WinHttp.WinHttpRequest,那么直接返回403,这里的if语句必须放在server或者location范围内,不能放在http范围内。
添加此配置之后,可以通过nginx -t
命令先验证一下配置语法是否 有问题,若没有问题,则可以通过nginx -s reload
来应用配置。
配置成功之后就可以通过下面的命令来验证配置是否生效了
curl -I -A "WinHttp.WinHttpRequest" www.xxx.com
如果返回下面的输出,则说明配置已经生效了:
HTTP/1.1 403 ForbiddenServer: nginx/1.2.6Date: Sat, 04 May 2013 12:09:32 GMTContent-Type: text/htmlContent-Length: 168Connection: keep-aliveVary: Accept-Encoding
转载于:https://blog.51cto.com/utrace/1553883