A 我的服务器上有 http 洪水,没有太多查询,但无论如何。日志中的查询
95.55.237.3 - - [06/Sep/2012:14:38:23 +0400]“GET / HTTP/1.0”200 35551“-”“Mozilla/5.0(Windows;U;Windows NT 6.1;en-US)” “-”| “-”
93.78.44.25 - - [06/Sep/2012:14:38:23 +0400]“GET / HTTP/1.0”200 36051“-”“Mozilla/5.0(Windows;U;Windows NT 6.1;en-US)” “-”| “-”
46.118.112.3 - - [06/Sep/2012:14:38:23 +0400]“GET / HTTP/1.0”200 35551“-”“Mozilla/5.0(Windows;U;Windows NT 6.1;en-US)” “-”| “-”
我在 nginx 配置中尝试了这个过滤器
server {
.....
set $add 1;
set $ban '';
###### Rule 1 ########
if ($http_referer = '-' ) {
set $ban $ban$add;
}
if ($request_uri = '/') {
set $ban $ban$add;
}
if ($http_user_agent = 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US)') {
set $ban $ban$add;
}
if ($ban = 111) {
return 444;
}
######################
......
}
但仍然没有查询得到 200 OK。有人可以帮忙吗?
尝试在您的配置中添加类似以下指令以防止 http 洪水:
http {
limit_conn_zone $binary_remote_addr zone=conn_limit_per_ip:10m;
limit_req_zone $binary_remote_addr zone=req_limit_per_ip:10m rate=5r/s;
server {
limit_conn conn_limit_per_ip 10;
limit_req zone=req_limit_per_ip burst=10 nodelay;
}
}
See http://nginx.org/en/docs/http/ngx_http_limit_conn_module.html and http://nginx.org/en/docs/http/ngx_http_limit_req_module.html欲了解更多信息
有以下所有指令http://nginx.org/en/docs/http/ngx_http_core_module.html#limit_rate
NOTE: http://www.botsvsbrowsers.com/details/504401/index.html表示上述用户代理不是已知的机器人
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)