request_client_ip_limiter
> 文档中心 > 文档中心 > INFINI Gateway > 功能手册 > 在线过滤器 > request_client_ip_limiter

request_client_ip_limiter #

描述 #

request_client_ip_limiter 过滤器用来按照请求客户端 IP 来进行限速。

配置示例 #

配置示例如下:

flow:
  - name: rate_limit_flow
    filter:
      - request_client_ip_limiter:
          ip: #only limit for specify ips
            - 127.0.0.1
          max_requests: 256
#          max_bytes: 102400 #100k
          action: retry # retry or drop
#          max_retry_times: 1000
#          retry_interval: 500 #100ms
          message: "your ip reached our limit"

上面的配置中,对 127.0.0.1 这个 IP 进行限速,允许的最大 qps 为 256

参数说明 #

名称类型说明
iparray设置哪些客户端 IP 会参与限速,不设置表示所有 IP 参与
intervalstring评估限速的单位时间间隔,默认为 1s
max_requestsint单位间隔内最大的请求次数限额
burst_requestsint单位间隔内极限允许的请求次数
max_bytesint单位间隔内最大的请求流量限额
burst_bytesint单位间隔内极限允许的流量限额
actionstring触发限速之后的处理动作,分为 retrydrop 两种,默认为 retry
statusstring设置达到限速条件的返回状态码,默认 429
messagestring设置达到限速条件的请求的拒绝返回消息
retry_delay_in_msint限速重试的时间间隔,单位毫秒,默认 10,即 10 毫秒
max_retry_timesint限速重试的最大重试次数,默认 1000
failed_retry_messagestring设置达到最大重试次数的请求的拒绝返回消息
log_warn_messagebool是否输出警告消息到日志