Nginx+KV db进行AB灰度测试

六月 29, 2012 by · 2 Comments 

周6参加华东运维大会,听了人家淘宝用nginx的一些场景,其中AB的灰度测试可能适用场景会比较普遍,当然大会上,并没有详细讨论实现。

大概需求是: 网站类业务在更新new feature时,并不想让全量用户看到,可以针对地区性用户开放此feature

大概构思了一个方式,使用 nginx+redis/memcache+IP库实现,简单的流程图如下:

Read more

原创文章,转载请注明: 文章地址Nginx+KV db进行AB灰度测试

nginx loadbalance round robin select logic bug

五月 31, 2012 by · 2 Comments 

我们用那个nginx做reverse proxy,一直有一个upstream round robin select logic的bug, 以前在maillist提过http://forum.nginx.org/read.php?2,220415,220440#msg-220440 大神说已经有人提过了,trac在这:http://trac.nginx.org/nginx/ticket/64

总的来说就是,问题发生的场景是n-1台server不可用(n>=3),理论上应该只是影响请求的延迟,而不应该直接返回502或503的(因为有一台backend server是处于正常状态的).

我测试的版本:  1.0.XXX, 1.1.XXX, 1.2.XXX

os platform :  centos 5.X, UBUNTU 11.10 or 12.04 Read more

原创文章,转载请注明: 文章地址nginx loadbalance round robin select logic bug

Nginx过滤hash ddos攻击

四月 1, 2012 by · 4 Comments 

这事可能都过气了,不过还是贴出我使用的方式吧,用的着的可以参考.

上段时间的各语言hash绝对印象深刻吧,做网站的几乎都在此类,不论你是用的是php,python还是ruby都不同程度受到影响, PHP尤其明显,因为PHP用的人也多嘛,攻击方式简直简单到不行,有兴趣的可以找我索取此测试脚本,一个终端随便搞挂一台有次漏洞的PHP站点.

我们http请求都是通过nginx反向代理,所以优势是可以在nginx这一层对请求做很多逻辑,此次防hash dos就是这个架构.

原理是过滤post请求中超过指定参数数量的请求, 我的是300,可自己调整,应该没有http开发者在使用post方法的时候有超过这个参数值的了,所以不会影响正常请求. Read more

原创文章,转载请注明: 文章地址Nginx过滤hash ddos攻击

Nginx进行流量copy到测试环境

四月 1, 2012 by · Leave a Comment 

经常会遇到测试环境需要一些数据,当然你可以自己仿造数据,但是更方便和更好的做法是,将来自正式环境的用户请求copy一份到测试环境。

依赖模块lua-nginx-module,ngx_devel_kit, headers-more-nginx-module

以上模块在github上均可以找到,作者是国内nginx的著名开发者agentzh。

使用模块需要重新编译nginx,  –add-module=/path/to/your/module

下面是nginx配置: Read more

原创文章,转载请注明: 文章地址Nginx进行流量copy到测试环境

知识共享许可协议
作品采用知识共享署名 2.5 中国大陆许可协议进行许可。