跳到主要内容

参数

请参阅 插件通用配置 了解所有插件可用的配置选项。

  • count

    integer


    required


    vaild vaule:

    大于 0


    给定时间间隔内允许的最大请求深度。

  • time_window

    integer


    required


    vaild vaule:

    大于 0


    与速率限制 count 对应的时间间隔,以秒为单位。

  • key_type

    string


    default: var


    vaild vaule:

    var, var_combination, or constant


    键的类型。

    如果 key_typevar,则 key 被解释为变量。

    如果 key_typevar_combination,则 key 被解释为变量组合。

    如果 key_typeconstant,则 key 被解释为常量。

  • key

    string


    default: remote_addr


    用于计数请求的键。

    如果 key_typevar,则 key 被解释为变量。变量不需要以美元符号($)作为前缀。查看内置变量以获取可用变量。

    如果 key_typevar_combination,则 key 被解释为变量组合。所有变量都应以美元符号($)作为前缀。例如,要将 key 配置为使用两个请求头 custom-acustom-b 的组合,key 应配置为 $http_custom_a $http_custom_b

    如果 key_typeconstant,则 key 被解释为常量值。

  • rejected_code

    integer


    default: 503


    vaild vaule:

    介于 200 到 599 之间(含边界值)


    当请求因超过阈值而被拒绝时返回的 HTTP 状态码。

  • rejected_msg

    string


    vaild vaule:

    任意非空字符串


    当请求因超过阈值而被拒绝时返回的响应体。

  • policy

    string


    default: local


    vaild vaule:

    local, redis, or redis-cluster


    速率限制计数器的策略。如果为 local,则计数器存储在本地内存中。如果为 redis,则计数器存储在 Redis 实例中。如果为 redis-cluster,则计数器存储在 Redis 集群中。

  • allow_degradation

    boolean


    default: false


    如果为 true,则在插件或其依赖项不可用时,允许网关继续处理请求而不使用该插件。

  • show_limit_quota_header

    boolean


    default: true


    如果为 true,则包含速率限制响应头。具体包括:

    • X-RateLimit-Limit 显示总配额。
    • X-RateLimit-Remaining 显示剩余配额。
    • X-RateLimit-Reset 显示计数器重置前的剩余秒数。
  • group

    string


    vaild vaule:

    non-empty


    插件的 group ID,同一 group 的路由可以共享相同的速率限制计数器。

  • redis_host

    string


    Redis 节点的地址。当 policyredis 时必填。

  • redis_port

    integer


    default: 6379


    vaild vaule:

    大于或等于 1


    Redis 节点的端口。当 policyredis 时使用。

  • redis_username

    string


    如果使用 Redis ACL,则为 Redis 的用户名。如果你使用传统的认证方法 requirepass,则只需配置 redis_password。当 policyredis 时使用。

  • redis_password

    string


    Redis 节点的密码。当 policyredisredis-cluster 时使用。

  • redis_database

    integer


    default: 0


    vaild vaule:

    大于或等于 0


    Redis 中的数据库编号。当 policyredis 时使用。

  • redis_ssl

    boolean


    default: false


    如果为 true,则在 policyredis 时使用 SSL 连接到 Redis。

  • redis_ssl_verify

    boolean


    default: false


    如果为 true,则在 policyredis 时验证服务器 SSL 证书。

  • redis_timeout

    integer


    default: 1000


    vaild vaule:

    大于或等于 1


    Redis 超时时间(毫秒)。当 policyredisredis-cluster 时使用。

  • redis_cluster_nodes

    array[string]


    Redis 集群节点列表,至少包含两个地址。当 policyredis-cluster 时必填。

  • redis_cluster_name

    string


    Redis 集群的名称。当 policyredis-cluster 时必填。

  • redis_cluster_ssl

    boolean


    default: false


    如果为 true,则在 policyredis-cluster 时使用 SSL 连接到 Redis 集群。

  • redis_cluster_ssl_verify

    boolean


    default: false


    如果为 true,则在 policyredis-cluster 时验证服务器 SSL 证书。