一、概述
注意:说明:
注意:回源限频策略仅 EdgeOne 企业版套餐可用,默认每个站点最多可配置 5 条限频策略。
二、原理说明
EdgeOne 为用户提供了分布全球的边缘节点服务,用户的请求将通过不同地区的边缘节点回到源站,在请求回源时,EdgeOne 将通过定期采集所有边缘节点的回源请求量,然后根据用户所设定的回源限频值以及节点数量,按一定的比例自动分配各节点的可回源 QPS 数值,并且根据边缘节点的请求量变化动态调整,确保所有节点总计的回源请求量不会超出用户所限定的回源限频值。
注意:说明:
三、示例场景 1:限制动态 API 接口请求域名的回源总 QPS
当前域名 api.example.com 的源站为 1.1.1.1,该域名主要承载 API 接口动态业务,请求量很高,源站性能最高只能承载 10,000 QPS,为了保护源站,防护源站宕机,需要对回源的请求频率进行限制,对于触发限频的请求响应 512 状态码。操作步骤如下:
1. 登录 边缘安全加速平台 EO 控制台,在左侧菜单栏中,进入服务总览,单击网站安全加速内需配置的站点。
2. 在站点详情页面,单击回源限频策略。
3. 单击新建策略,在策略配置界面内,参考:回源限频策略配置项说明完善配置。按照当前示例场景配置,可选择匹配条件为 HOST 等于 api.example.com,配置限频值为 10,000 QPS,在响应状态码中,输入 512。参考配置如下:
4.点击保存,下发配置,等待域名部署完成后,限频策略即可生效。预期的生效结果是,如果客户端请求域名 api.example.com 的回源请求数不超过 10,000QPS,如果超出,则响应 512 状态码。
四、示例场景 2:根据不同的请求路径限制允许回源的总 QPS
当前域名 api.example.com 的源站为 1.1.1.1,有多个的对外接口服务,其中数据查询接口为 /data/Describedata;支付接口为 /pay/Orderpayment,数据查询接口仅允许最大 QPS 不超过 500,支付接口的最大查询接口不允许超过 1000,超出限频值时均响应 512 状态码。操作步骤如下:
1. 登录 边缘安全加速平台 EO 控制台,在左侧菜单栏中,进入服务总览,单击网站安全加速内需配置的站点。
2. 在站点详情页面,单击回源限频策略。
3. 单击新建策略,在策略配置界面内,参考:回源限频策略配置项说明完善配置。按照当前示例场景配置,先配置策略 1,可选择匹配条件为 HOST 等于 api.example.com AND URL path 等于 /data/Describedata,配置限频值为 500 QPS,在响应状态码中,输入 512。参考配置如下:
4. 点击保存,下发配置。然后重复以上步骤 3,新建一条策略 2,可选择匹配条件为 HOST 等于 api.example.com AND URL path 等于 /pay/Orderpayment,配置限频值为 1000 QPS,在响应状态码中,输入 512。参考配置如下:
5. 以上策略均配置完成后,预期的生效结果是,如果客户端请求域名 api.example.com,请求路径为/data/Describedata 时,回源的请求 QPS 不允许超过 500 QPS,如果请求路径为 /pay/Orderpayment 时,回源的请求 QPS 不允许超过 1000 QPS,超出时均响应 512。
五、回源限频策略配置项说明
| 配置项 | 说明 |
| 策略名称 | 必填,可输入 1-255 个字符,字符不限。 |
| 描述 | 可选,可输入 0-1024 个字符,字符不限。 |
| 匹配条件 | 必填,匹配条件用于决定当前请求是否会触发回源限频规则,EdgeOne 将根据客户端发起的请求进行匹配,符合条件的请求将计入有效请求并在需要回源时根据限频值决定是否进行触发限频。说明:如果请求通过规则引擎、边缘函数等进行了回源改写,例如回源 URL 重写、修改回源请求头等,回源限频策略仍然是按照改写前的请求特征匹配。支持的匹配条件包括:HOST、URL path、URL full、查询字符串、文件后缀、文件名称、HTTP 请求头、客户端地理位置、请求协议、客户端 IP、客户端运营商、请求方法、Cookie。支持的匹配条件运算符、限制可参考:规则引擎支持的匹配类型与操作、规则引擎配置字符限制。 |
| 回源限频值 | 必填,可配置 10-1000000,用于限制最大的回源 QPS。 |
| 响应状态码 | 必填,在触发限频后,响应的状态码。支持配置 4XX、5XX,并且不可以配置为 499、514、509和 520-599。 |
| 自定义响应页面 | 可选,支持下拉选择当前已配置的自定义响应页面。 |
| 与其他限频策略的关系 | 配置有多条回源限频策略的情况下,同一个请求可能匹配多个策略,限频的优先级从上往下逐条匹配来决定是否触发限频,你也可以根据下方的配置来决定当前请求是否终止匹配其它回源限频策略。未触发限频时,继续匹配后续其它策略:如果后续还有其他的限频策略,未触发当前回源限频策略时,将继续匹配下方的限频策略,决定是否限频。无论是否触发限频,不再匹配后续其它策略:请求匹配当前回源限频策略时,如果达到回源限频值则按照当前策略进行处置,如果未达到限频值,则可正常回源,不会继续匹配下方的策略。 |