全部產品
Search
文件中心

API Gateway:key-rate-limit外掛程式

更新時間:Jan 08, 2025

key-rate-limit外掛程式實現了基於特定索引值的限流,索引值來源可以是URL參數、HTTP要求標頭。本文介紹如何配置key-rate-limit外掛程式。

外掛程式類型

流量管控。

配置欄位

名稱

資料類型

填寫要求

預設值

描述

limit_by_header

string

選填。limit_by_header、limit_by_param中選填一項。

-

配置擷取限流索引值的來源HTTP要求標頭名稱。

limit_by_param

string

選填。limit_by_header、limit_by_param中選填一項。

-

配置擷取限流索引值的來源URL參數名稱。

limit_keys

array of object

必填。

-

配置匹配索引值後的限流次數。

子項limit_keys中每一項的配置欄位說明。

名稱

資料類型

填寫要求

預設值

描述

key

string

必填。

-

匹配的索引值。

query_per_second

number

選填。query_per_second、query_per_minute、query_per_hour或query_per_day中選填一項。

-

允許每秒請求次數。

query_per_minute

number

選填。query_per_second、query_per_minute、query_per_hour或query_per_day中選填一項。

-

允許每分鐘請求次數。

query_per_hour

number

選填。query_per_second、query_per_minute、query_per_hour或query_per_day中選填一項。

-

允許每小時請求次數。

query_per_day

number

選填。query_per_second、query_per_minute、query_per_hour或query_per_day中選填一項。

-

允許每天請求次數。

配置樣本

  • 識別要求標頭x-ca-key,進行區別限流。

    limit_by_header: x-ca-key
    limit_keys:
    - key: 102234
      query_per_second: 10
    - key: 308239
      query_per_hour: 10
  • 識別請求參數apikey,進行區別限流。

    limit_by_param: apikey
    limit_keys:
    - key: 9a342114-ba8a-11ec-b1bf-00163e1250b5
      query_per_second: 10
    - key: a6a6d7f2-ba8a-11ec-bec2-00163e1250b5
      query_per_minute: 100
  • 對特定路由或網域名稱開啟。

    route-aroute-b兩個路由做如下外掛程式配置:

      limit_by_header: x-ca-key
      limit_keys:
      - key: 102234
        query_per_second: 10

    *.example.comtest.com兩個網域名稱做如下外掛程式配置:

      limit_by_header: x-ca-key
      limit_keys:
      - key: 102234
        query_per_second: 100
    說明
    • 此例中的route-aroute-b即在建立網關路由時填寫的路由名稱,當匹配到這兩個路由時,將使用此段配置。

    • 此例中的*.example.comtest.com用於匹配請求的網域名稱,當發現網域名稱匹配時,將使用此段配置。

    • 配置的匹配生效順序,將按照規則的排列順序,匹配第一個規則後生效對應配置,後續規則將被忽略。