HTTP请求报文的限流方法及装置制造方法及图纸

技术编号:27312328 阅读:15 留言:0更新日期:2021-02-10 09:37
本申请提供一种HTTP请求报文的限流方法及装置,涉及计算机技术领域。通过接收HTTP请求报文,并确定所述HTTP请求报文的第一特征;如果所述第一特征在预先确定的限速规则中匹配成功,则从所述第一特征对应的令牌桶中申请令牌,所述令牌桶用于存储指定数量的令牌,且所述令牌桶按照指定的更新频率添加新的令牌,其中,所述限速规则包括多个被限速的特征;如果所述令牌桶中不存在令牌,则将所述HTTP请求报文执行限速操作。以此可以降低被错误拦截的概率,提升限流效率。提升限流效率。提升限流效率。

【技术实现步骤摘要】
HTTP请求报文的限流方法及装置


[0001]本申请涉及计算机
,具体而言,涉及一种HTTP请求报文的限流方法及装置。

技术介绍

[0002]我国正在积极推进互联网信息安全建设和公民隐私保护制度,而积极推进Web应用防护系统(Web Application Firewall,WAF)相关技术的实现和改进,可以更好地为用户服务,提升信息安全防护等级和防护效率。然而当前市面上已有的限流限速的服务种类繁杂,功能欠缺,自定义规则灵活性差,防护程序稳定性差,同时针对一般企业具体业务没有很好的支持,不具有针对性。
[0003]目前大多数的WAF都是基于IP地址等特定的防护规则,采用本地配置文件的方式进行限速限流,效率比较低,更新需要重启相关模块重新加载配置文件,更新复杂,健壮性不高,命令行操作危险系数高,同时针对企业中具体业务的限速限流效果不够理想,相应的与访问控制结合性也较差。所以并不能满足一般企业对于WAF的业务需求。
[0004]可以使用IP黑名单结合本地配置文件进行限速的实现方式,使用开源的web网关OpenResty的lua_nginx_module通过相应的接口获取用户的访问IP,通过用户IP与本地配置文件中的相关IP黑名单做对比进行匹配,并统计相应的访问频率然后进行限速限流。
[0005]该技术虽然能够进行大多数恶意请求的限速限流的动作,但是规则更新需要重启OpenResty,需要让OpenResty重新加载本地的黑名单IP,容易对线上环境造成一定风险。维护一套黑名单IP,由于动态IP较多,十分容易对正常的业务请求造成错误拦截。

技术实现思路

[0006]本申请实施例的目的在于提供一种HTTP请求报文的限流方法及装置,用以缓解现有技术中存在的错误拦截率高的技术问题。
[0007]第一方面,本专利技术实施例提供一种HTTP请求报文的限流方法,包括:
[0008]接收HTTP请求报文,并确定所述HTTP请求报文的第一特征;
[0009]如果所述第一特征在预先确定的限速规则中匹配成功,则从所述第一特征对应的令牌桶中申请令牌,所述令牌桶用于存储指定数量的令牌,且所述令牌桶按照指定的更新频率添加新的令牌,其中,所述限速规则包括多个被限速的特征;
[0010]如果所述令牌桶中不存在令牌,则将所述HTTP请求报文执行限速操作。
[0011]在可选的实施方式中,所述方法还包括:
[0012]基于待限速的HTTP请求报文的IP地址和/或URL确定待限速的第二特征;
[0013]将所述第二特征存储在预先确定的限速规则中。
[0014]在可选的实施方式中,基于待限速的HTTP请求报文的IP地址和URL确定待限速的第二特征的步骤,包括:
[0015]接收来自客户端的待限速的IP字段和/或URL字段;
[0016]将所述待限速的IP字段和/或URL字段进行拼接得到待限速的key作为第二特征。
[0017]在可选的实施方式中,所述限速规则中包括被限速的特征与限速阈值的对应关系,所述限速阈值用于指示所述令牌桶中令牌的容量和/或更新频率。
[0018]在可选的实施方式中,所述被限速的特征存储在共享内存中。
[0019]在可选的实施方式中,还包括:
[0020]确定第三特征待更新的第一限速阈值;
[0021]基于所述第一限速阈值,更新所述第三特征对应的令牌桶中令牌的容量和/或更新频率。
[0022]在可选的实施方式中,所述确定第三特征待更新的第一限速阈值的步骤包括:
[0023]确定目标业务的第二限速阈值,并对所述目标业务的流量进行监控,所述目标业务对应第三特征;
[0024]基于监控结果判断所述第二限速阈值是否符合预设要求;
[0025]当所述第二限速阈值不符合预设要求时,则确定符合预设要求的第一限速阈值。
[0026]在可选的实施方式中,基于所述第一限速阈值,更新所述第三特征对应的令牌桶中令牌的容量和/或更新频率的步骤,包括:
[0027]基于观察者模式按照所述第一限速阈值进行限速,并确定观察日志;
[0028]基于所述观察日志判断是否有误拦截;
[0029]如果没有误拦截,则基于所述第一限速阈值更新所述第三特征对应的令牌桶中令牌的容量和/或更新频率。
[0030]在可选的实施方式中,如果所述第一特征对应的令牌桶中存在令牌,则消耗一个令牌,并执行所述HTTP请求报文。
[0031]第二方面,本专利技术实施例提供一种HTTP请求报文的限流装置,包括:
[0032]接收模块,用于接收HTTP请求报文,并确定所述HTTP请求报文的第一特征;
[0033]申请模块,用于如果所述第一特征在预先确定的限速规则中匹配成功,则从所述第一特征对应的令牌桶中申请令牌,所述令牌桶用于存储指定数量的令牌,且所述令牌桶按照指定的更新频率添加新的令牌,其中,所述限速规则包括多个被限速的特征;
[0034]限速模块,用于如果所述令牌桶中不存在令牌,则将所述HTTP请求报文执行限速操作。
[0035]第三方面,本专利技术实施例提供一种计算机设备,包括存储器、处理器;所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述前述实施方式任一项所述的方法的步骤。
[0036]第四方面,本专利技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有机器可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行所述前述实施方式任一项所述的方法。
[0037]本专利技术实施例提供一种HTTP请求报文的限流方法及装置。通过接收HTTP请求报文,并确定所述HTTP请求报文的第一特征;如果所述第一特征在预先确定的限速规则中匹配成功,则从所述第一特征对应的令牌桶中申请令牌,所述令牌桶用于存储指定数量的令牌,且所述令牌桶按照指定的更新频率添加新的令牌,其中,所述限速规则包括多个被限速的特征;如果所述令牌桶中不存在令牌,则将所述HTTP请求报文执行限速操作。以此可以降
低被错误拦截的概率,提升限流效率。
附图说明
[0038]为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0039]图1为本申请实施例提供的一种HTTP请求报文的限流方法流程示意图;
[0040]图2为本申请实施例提供的一种HTTP请求报文的限流方法的一个示例;
[0041]图3为本申请实施例提供的一种HTTP请求报文的限流方法的另一个示例;
[0042]图4为本申请实施例提供的一种HTTP请求报文的限流方法的另一个示例;
[0043]图本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种HTTP请求报文的限流方法,其特征在于,包括:接收HTTP请求报文,并确定所述HTTP请求报文的第一特征;如果所述第一特征在预先确定的限速规则中匹配成功,则从所述第一特征对应的令牌桶中申请令牌,所述令牌桶用于存储指定数量的令牌,且所述令牌桶按照指定的更新频率添加新的令牌,其中,所述限速规则包括多个被限速的特征;如果所述令牌桶中不存在令牌,则将所述HTTP请求报文执行限速操作。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:基于待限速的HTTP请求报文的IP地址和/或URL确定待限速的第二特征;将所述第二特征存储在预先确定的限速规则中。3.根据权利要求2所述的方法,其特征在于,所述基于待限速的HTTP请求报文的IP地址和/或URL确定待限速的第二特征的步骤,包括:接收来自客户端的待限速的IP字段和/或URL字段;将所述待限速的IP字段和/或URL字段进行拼接得到待限速的key作为第二特征。4.根据权利要求1所述的方法,其特征在于,所述限速规则中包括被限速的特征与限速阈值的对应关系,所述限速阈值用于指示所述令牌桶中令牌的容量和/或更新频率。5.根据权利要求4所述的方法,其特征在于,所述被限速的特征存储在共享内存中。6.根据权利要求5所述的方法,其特征在于,还包括:确定第三特征待更新的第一限速阈值;基于所述第一限速阈值,更新所述第三特征对应的令牌桶中令牌的容量和/或更新频率。7.根据权利要求6所述的方法,其特征在于,所述确定第三特征待更新的第一限速阈值的步骤包括:确定目标业务的第二限速阈值,并对所述目标业务的流量进行监控,所述目标业务对应第三特征;基于监控结果判断...

【专利技术属性】
技术研发人员:张志田
申请(专利权)人:北京健康之家科技有限公司
类型:发明
国别省市:

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

1