全部产品
Search
文档中心

API Gateway:key-rate-limit

更新时间:Jul 02, 2025

Plugin key-rate-limit mengimplementasikan pembatasan laju berdasarkan nilai kunci tertentu. Nilai kunci dapat diperoleh dari parameter URL atau header permintaan HTTP. Topik ini menjelaskan cara mengonfigurasi plugin key-rate-limit.

Jenis plugin

Plugin pembatasan laju.

Bidang

Bidang

Tipe data

Diperlukan

Nilai default

Deskripsi

limit_by_header

string

Tidak. Anda harus mengonfigurasi limit_by_header atau limit_by_param.

-

Header permintaan HTTP tempat nilai kunci untuk pembatasan laju diperoleh.

limit_by_param

string

Tidak. Anda harus mengonfigurasi limit_by_header atau limit_by_param.

-

Parameter URL tempat nilai kunci untuk pembatasan laju diperoleh.

limit_keys

array of object

Ya

-

Jumlah kali pembatasan laju dipicu setelah nilai kunci tertentu cocok.

Tabel berikut menjelaskan item konfigurasi dalam bidang limit_keys.

Item konfigurasi

Tipe data

Diperlukan

Nilai default

Deskripsi

key

string

Ya

-

Nilai kunci yang digunakan untuk mencocokkan permintaan.

query_per_second

number

Tidak. Anda harus mengonfigurasi query_per_second, query_per_minute, query_per_hour, atau query_per_day.

-

Jumlah permintaan yang diizinkan per detik.

query_per_minute

number

Tidak. Anda harus mengonfigurasi query_per_second, query_per_minute, query_per_hour, atau query_per_day.

-

Jumlah permintaan yang diizinkan per menit.

query_per_hour

number

Tidak. Anda harus mengonfigurasi query_per_second, query_per_minute, query_per_hour, atau query_per_day.

-

Jumlah permintaan yang diizinkan per jam.

query_per_day

number

Tidak. Anda harus mengonfigurasi query_per_second, query_per_minute, query_per_hour, atau query_per_day.

-

Jumlah permintaan yang diizinkan per hari.

Contoh

  • Terapkan pembatasan laju berdasarkan nilai kunci dari header permintaan x-ca-key.

    limit_by_header: x-ca-key
    limit_keys:
    - key: 102234
      query_per_second: 10
    - key: 308239
      query_per_hour: 10
  • Terapkan pembatasan laju berdasarkan nilai kunci dari parameter permintaan 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
  • Aktifkan pembatasan laju untuk rute atau nama domain.

    Gunakan konfigurasi plugin berikut untuk rute route-a dan route-b:

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

    Gunakan konfigurasi plugin berikut untuk nama domain *.example.com dan test.com:

      limit_by_header: x-ca-key
      limit_keys:
      - key: 102234
        query_per_second: 100
    Catatan
    • Dalam contoh ini, rute route-a dan route-b adalah rute yang ditentukan saat pembuatan rute gateway. Jika permintaan klien cocok dengan salah satu rute, aturan yang dikonfigurasikan untuk rute tersebut akan berlaku.

    • Dalam contoh ini, nama domain *.example.com dan test.com digunakan untuk mencocokkan nama domain dalam permintaan. Jika permintaan klien cocok dengan salah satu nama domain, aturan yang dikonfigurasikan untuk nama domain tersebut akan berlaku.

    • Aturan yang Anda konfigurasikan berlaku secara berurutan. Jika aturan pertama cocok, aturan berikutnya akan diabaikan.