欢迎光临
我们一直在努力

将WAF部署在Nginx之后,真的效率最高吗?

Nginx是一款口碑非常不错的反向代理、负载均衡服务器。据说并发支持可达5万。
在部署WAF时经常使用,常见的一种网络结构是:Nginx在最前端,做为反向代理、负载均衡,Nginx后方,是业务服务器集群。

本文通过实际测试,验证这种方法是否高效、有多少RPS性能损失。如果数据不是指向Nginx,而是指向WAF本身,性能又是如何。

系统:Windows
测试使用:Nginx、ShareWAF(一款WAF产品,官网:http://www.sharewaf.com/)、ab
测前准备:使用www.test.com域名,已修改host进行本地解析。
其它:Nginx装在一台电脑上,ShareWAF装在另一台电脑(ip:192.168.1.19),两台电脑配置均不高。

1、Nginx配置如下:

3个负载均衡指向:

未使用负载均衡,只做反向代理:

测试时,Nginx会分别使用这两种配置方式。

2、
使和ab工具进行测试,
ab -c100 -n100 http://www.test.com/
(已修改host,www.test.com指向127.0.0.1,即本机Nginx,Nginx转发数据到WAF)

测试结果如下:

3、
使用ab直接指向WAF,不经Nginx:

4、结论说明:
ab连nginx,RPS为36左右;
ab直接连WAF,RPS为86左右;
使用Nginx做负载或反向代理,RPS性能降低50%以上。

那么,
如果在接入WAF之前,是用Nginx做的负载均衡或反向代理,后面接的是业务服务器。
在接入WAF时,如果能直接跳过Nginx,效率最高。即作WAF取代nginx,比如上面测试的ShareWAF是具备这个功能的,可以取代Nginx。

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。