通过在WAF上配置洪峰限流功能,仅放行固定QPS或者特定比例的流量到业务服务器,可以有效保护业务服务器在大促活动期间降低异常流量冲击。本文介绍如何设置洪峰限流。
前提条件
已开通包年包月高级版及以上版本。具体操作,请参见购买WAF 3.0包年包月实例。
已将Web业务添加为WAF 3.0的防护对象。具体操作,请参见配置防护对象和防护对象组。
说明云产品接入(ALB、MSE、FC、SAE或APIG)的防护对象暂不支持该功能。
创建规则模板
通过创建规则模板,可以集中管理和统一应用规则,减少了重复配置的工作量。当新防护对象需要保护时,可以快速将现有规则模板应用到新的对象上,方便扩展。
步骤一:创建洪峰限流模板
登录Web应用防火墙3.0控制台。在顶部菜单栏,选择WAF实例的资源组和地域(中国内地、非中国内地)。在左侧导航栏,选择 。在页面下方洪峰限流区域,单击新建模板。
说明如果您是第一次新建洪峰限流模板,您也可以在防护规则页面上方的洪峰限流卡片区域,单击立即配置。
在新建模板 - 洪峰限流面板,完成以下配置,单击确定。
配置项
说明
模板名称
为该模板设置一个名称。
长度为1~255个字符,支持中文和大小写英文字母,可包含数字、半角句号(.)、下划线(_)和短划线(-)。
是否设置为默认模板
选择是否将该模板设置为当前防护模块的默认模板。
一个防护模块只允许设置一个默认模板。默认模板无需设置生效对象,默认应用于所有未关联到自定义规则模板的防护对象和对象组(包括后续新增、从自定义规则模板中移除的防护对象和对象组)。
规则配置
您可以单击新建规则,为当前洪峰限流模板新建自定义规则;或者忽略该设置,在创建规则模板后,再为模板新建规则。关于新建自定义规则的具体操作,请参见步骤二:创建洪峰限流模板中的规则。
生效对象
从已添加的防护对象及对象组中,选择要应用该模板的防护对象和防护对象组。
一个防护对象或对象组只能关联到当前防护模块下的一个模板。关于添加防护对象和对象组的具体操作,请参见配置防护对象和防护对象组。
步骤二:创建洪峰限流模板中的规则
只有添加防护规则后,洪峰限流模板才具有防护作用。
在自定义规则区域,定位到要新建规则的规则模板,单击操作列下的新建规则。在新建规则对话框,完成以下配置,单击确定。
配置项 | 说明 |
规则名称 | 为该规则设置一个名称。 支持中文和大小写英文字母,可包含数字、半角句号(.)、下划线(_)和短划线(-)。 |
匹配条件 | 设置该规则要匹配的请求特征。 单击新增条件,添加一个条件。一个规则中最多可以添加五个条件。如果定义了多个条件,则只有当多个条件同时满足时,才算命中规则。 每个条件由匹配字段、逻辑符和匹配内容组成。配置示例如下:
关于匹配字段和逻辑符的更多说明,请参见匹配条件说明。 |
同时访问来源属于下列区域 | WAF可以获取到请求的源ip,通过源ip可以判断流量归属地。如果不开启,则不区分生效对象的流量来源。在开启状态下,您可以选择中国境内的地区和中国境外的国家,未被选择的中国境内地区与境外国家的流量将不会经过洪峰限流中配置的规则。 |
限流方式 | QPS(Queries Per Second)限流:是通过设定一个固定的每秒请求数(QPS)上限来限制进入服务器的流量。这种方法适用于需要严格控制请求数量以保证服务器稳定性的场景。 百分比限流:是通过设定一个流量通过的比例来限制进入服务器的流量。这种方法适用于需要在流量激增时动态控制请求量的场景,相对QPS限流更加灵活。 |
限流阈值 | 设置QPS限流值
说明 QPS限流值,由于技术实现的复杂性和系统环境的动态变化,实际QPS可能会在设定值附近出现10%左右的波动。这种波动是限流算法允许的正常现象,旨在平衡系统性能和限流精度。建议定期监控实际流量表现,并根据具体需求做出相应调整,以确保最佳使用效果。 设置百分比限流值
|
限流动作 | 选择当请求命中该规则时,要执行的防护动作。可选项:
|
生效模式 |
|
示例1:假设您希望长期限制每秒最大请求数为1000,规则永久生效,并且只针对美国的流量进行限制,同时选择拦截作为防护动作。
规则名称:长期QPS限流
描述:长期限制每秒最大请求数为1000
生效模式:永久生效
最大QPS:1000
访问来源区域:中国境外-北美洲-美国
防护动作:拦截
示例2:假设您希望在大促期间,url包含shopping,每天的09:00到18:00限制每秒最大请求数为1000,并且只针对全部中国地区的流量进行限制,同时选择拦截作为限流动作。
规则名称:大促限流
描述:大促期间限流
生效模式:按时间段生效
匹配字段:URI包含shopping
时间段:某年某月某日的09:00到某年某月某日的18:00
最大QPS:1000
访问来源区域:全部中国地区
限流动作:拦截
应用范围:选择特定的业务域名或路径
示例3:假设您希望在每周末的09:00到18:00限制每秒最大请求数为1000,并且只针对中国香港的流量进行限制,同时选择观察作为防护动作。
规则名称:周末限流
描述:每周末限流
生效模式:按周期生效
周期和时间段:每周六和周日的09:00到18:00
最大QPS:1000
时区:选择业务所在的时区或服务器所在的时区
访问来源区域:中国香港
限流动作:观察
编辑规则模板
业务或项目需求可能会随时间而变化,调整规则模板可以确保规则与当前需求保持一致。通过调整规则,可以提高系统或流程的效率和性能,减少资源浪费。
开启与关闭规则模板
成功创建规则模板后,您可以通过模板开关,开启或关闭模板。
更改规则模板
可以单击目标模板操作列的编辑。完成调整后,点击下方确认,保存此次变更。
删除规则模板
您可以删除不需要的规则模板,删除之前请确认该模板没有关联的防护对象。请单击目标模板操作列中的删除按钮,并在弹出提示中点击确定。
一旦模板被删除,系统将自动使用默认模板来保护之前由该模板防护的对象。
删除默认模板,如果默认模板中还存在防护对象,这些防护对象将不再受到洪峰限流保护。