拒绝客户端请求

改写规则的下拉列表里面有很多动作,它们都已经分类整理好了。其中有一类是“限制请求动作”, 里面的动作就是用来控制请求的。我们这里介绍如何对请求进行拦截,也就是拒绝请求

封锁请求的主要原理是设置了一个观察窗口,如果在所有连续的观察窗口中, 客户端都超过了设置的封锁阈值,那么在随后的指定时间内,就返回客户端 503 错误。

有以下几个参数来控制:

  1. 关键字: 默认是终端的 IP 地址,可以通过下拉框选择 URI、URI 参数或者是 Cookie。 选择URI 参数或者是 Cookie 的话, 会需要多指定一个对应的 Argument 字段;
  2. 调节于: 低于这个速率的请求不会做任何限制;大于这个速率但小于拒绝于的请求,则会被延迟执行;
  3. 拒绝于: 大于这个速率的请求会直接返回503的 http 状态码给终端,意味着请求被拒绝。

调节于拒绝于 这两个参数的默认单位都是请求每秒,可以选择请求每分钟

如果它们两个的值设置一样,超过设置的请求就直接被拒绝,没有延迟来做缓冲。

  1. 时间窗口: 观察时间窗口的大小;
  2. 封锁阈值: 观察时间窗口连续出现的个数;
  3. 封锁时间: 指定的拦截时间。超过这个时间后,客户端会解封,封锁阈值 会重新开始计数。

我们点击右下方的创建按钮,规则就设置成功了。页面会自动跳转回改写规则页面。