一种基于nginx请求转发的Web防火墙拥塞控制方法技术

技术编号:20049688 阅读:63 留言:0更新日期:2019-01-09 05:45
本发明专利技术公开了一种基于nginx请求转发的Web防火墙拥塞控制方法,Waf通过获取nginx状态得到当前的访问数,当检测到当前访问的qps超过了正常TPS,若继续照当前速度处理请求,则会导致队列排队过长从而无法正常响应所有请求,此时为了确认超出负载的请求有多少,nginx通过统计一段时间内请求队列的增加情况得到这段时间内队列长度的增长率,当前方的负载均衡服务器拉取到增长率值后,会调整upstream的权重,将部分请求直接代理到业务源站,绕过waf,从而减少waf的负载,防止停机。本发明专利技术的方法可解决防火墙检测规则过于复杂带来的响应时间过久甚至响应错误的问题,在阻塞时通过直接转发的方式来缓解防火墙压力,从而达到保护系统安全的目的。

【技术实现步骤摘要】
一种基于nginx请求转发的Web防火墙拥塞控制方法
本专利技术涉及防火墙
,特别涉及一种基于nginx请求转发的Web防火墙拥塞控制方法。
技术介绍
Web应用防火墙作为现代互联网中重要的安全防护设施,在网络安全性的保证方面起着不可估量的作用。Web防火墙系统对网络流量的解析较为深入,其对数据处理的复杂性也导致其吞吐量低于一般的数据包级别和流级别的防火墙,性能损失较为严重。当在防护一些流量或访问量较大的网站或系统时,如何使得Web防火墙在负载请求过大时能及时调整自身策略,使得系统尽快恢复到正常工作状态,保证系统有较好的应对能力并能持续稳定的提供服务,显得格外重要。目前关于应对大流量的拥塞控制策略主要是一种基于主动队列的管理算法,该类算法以概率性丢包为基础,提前预测网络可能出现的拥塞。利用TCP协议工作特点,采取选择性丢包的策略控制流量大小,对拥塞现象加以避免。这种基于概率性丢包思想的做法被广泛应用于路由器这种主要负责分组转发功能的设备上,并不适用于Web防火墙这种以内容还原检测为主要目的的系统。这种算法为缓冲区设定不同的阈值,标识出缓冲区分组数量在不同范围内时,系统应使用的丢本文档来自技高网...

【技术保护点】
1.一种基于nginx请求转发的Web防火墙拥塞控制方法,其特征在于,包括以下步骤:A.统计web防火墙的吞吐量,在业务请求量正常的情况下在一段时间内连续统计nginx当前的请求队列长度和每秒查询率qps,其中,在队列长度稳定的情况下对应的每秒查询率qps就是web防火墙的系统吞吐量TPS,稳定的队列长度即当前网络环境下正常的队列长度Lm;B.当nginx当前每秒查询率qps大于或等于web防火墙的系统吞吐量TPS时,每隔时间间隔t,获取一次nginx的当前队列长度L1,在连续n次获取nginx的当前队列长度后,计算(n‑1)*t这段时间内队列的平均长度L=(L1+L2+...+Ln)/n;C...

【技术特征摘要】
1.一种基于nginx请求转发的Web防火墙拥塞控制方法,其特征在于,包括以下步骤:A.统计web防火墙的吞吐量,在业务请求量正常的情况下在一段时间内连续统计nginx当前的请求队列长度和每秒查询率qps,其中,在队列长度稳定的情况下对应的每秒查询率qps就是web防火墙的系统吞吐量TPS,稳定的队列长度即当前网络环境下正常的队列长度Lm;B.当nginx当前每秒查询率qps大于或等于web防火墙的系统吞吐量TPS时,每隔时间间隔t,获取一次nginx的当前队列长度L1,在连续n次获取nginx的当前队列长度后,计算(n-1)*t这段时间内队列的平均长度L=(L1+L2+...+Ln)/n;C.根据队列平均长度L和队列正常长度Lm,计算队列的增长率p,p=(L-Lm)/Lm;D.前端负载均衡服务器定期获取队列增长率p,并根据队列增长率p对负载均衡服务器的负载权重作调整,使请求中占比为p百分比的请求不通过web防火墙直接被转发到后台业务服务器;E.重复步骤B至步骤D,直至队列增长率p开始下降;当增长率p小于0时,表明在当前分流比率下web防火墙能够及时处理来访的请求,此时维持负载权重不变;F...

【专利技术属性】
技术研发人员:杨川
申请(专利权)人:四川长虹电器股份有限公司
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1