关于nginx防CC
参考文章:http://www.centos.bz/2012/12/openresty-nginx-block-cc-attack-deploy/
http://www.hostloc.com/thread-195869-1-1.html
两种方法都测试过,第一种看不太明白,只知道第一次访问加了个jskey=****,我猜大概可以阻止所有第一次访问的流量,节省服务器资源,不知道是不是这个意思。
第二种测试结果,设置了两个限制,结果只生效了一个。[*]limit_req2_zone $request_uri zone=localhost.one:2m rate=5r/s;
[*]limit_req2_zone $binary_remote_addr zone=localhost.two:2m rate=30r/s;复制代码[*]limit_req2 zone=localhost.one forbid_action=@limit nodelay;
[*]limit_req2 zone=localhost.two forbid_action=@444 nodelay;复制代码[*]location @limit {
[*]rewrite ^ /limit.html break;
[*]}
[*]
[*]location @444 {
[*]return 444;
[*]}复制代码limit生效了,444没有生效。
我用webbench1000个并发,都没444,都是直接跳到limit.html,不知道是不是哪里错了,请各位大牛指教一下。
还有就是,如果这两个合并使用不知道会不会有什么冲突? 圈圈肯定会说:放下CC,立地成咩。 "
掉个顺序,再试试
"
011.gif
lazyzhu 发表于 2013-5-14 17:19
back.gif
掉个顺序,再试试
换了个顺序,好像可以了,这是什么原理?
011.gif
009.gif
小灰灰果然厉害 小灰灰终于发威了 圈圈说防cc还是放下防护信咩咩吧,其他的都是浮云
star826 发表于 2013-5-14 18:04
back.gif
能否帮我测试下防CC
我是小水管,没法帮你测试了,我测试都是在局域网里测试的。
lazyzhu 发表于 2013-5-14 17:19
back.gif
掉个顺序,再试试
大概是
"并且一个location支持多个limit_req指令,当有多个limit_req指令的话,这些指令是或的关系,也就是当其中任意一个限制被触发,则执行对应的limit_req"?
是不是就是说
如果并发高执行location 444结束
忽略其他 limit 规则?
如果limit顺序在前面444规则那不是永远轮不到?
页:
[1]