拒绝客户端请求
页面规则的下拉列表里面有很多动作,它们都已经分类整理好了。其中有一类是“限制请求动作”, 里面的动作就是用来控制请求的。我们这里介绍如何对请求进行拦截,也就是拒绝请求:
封锁请求
的主要原理是设置了一个观察窗口,如果在所有连续的观察窗口中,
客户端都超过了设置的封锁阈值,那么在随后的指定时间内,就返回客户端 503 错误。
有以下几个参数来控制:
- 关键字: 默认是终端的 IP 地址,可以通过下拉框选择 URI 、 URI 参数或者是 Cookie 。 选择 URI 参数或者是 Cookie 的话, 会需要多指定一个对应的 Argument 字段;
- 调节于: 低于这个速率的请求不会做任何限制;大于这个速率但小于
拒绝于
的请求,则会被延迟执行; - 拒绝于: 大于这个速率的请求会直接返回503的 HTTP 状态码给终端,意味着请求被拒绝。 调节于 和 拒绝于 这两个参数的默认单位都是请求每秒,可以选择请求每分钟。 如果它们两个的值设置一样,超过设置的请求就直接被拒绝,没有延迟来做缓冲。
- 时间窗口: 观察时间窗口的大小;
- 封锁阈值: 观察时间窗口连续出现的个数;
- 封锁时间: 指定的拦截时间。超过这个时间后,客户端会解封,封锁阈值 会重新开始计数。
我们点击右下方的创建按钮,规则就设置成功了。页面会自动跳转回页面规则页面。