All Products
Search
Document Center

API Gateway:request-block

Last Updated:Jul 02, 2025

Plug-in request-block digunakan untuk memblokir permintaan HTTP berdasarkan karakteristik seperti URL dan header permintaan. Plug-in ini melindungi sumber daya situs web dari paparan eksternal. Topik ini menjelaskan cara mengonfigurasi plug-in request-block.

Jenis plug-in

Plug-in perlindungan keamanan.

Bidang

Bidang

Tipe data

Diperlukan

Nilai default

Deskripsi

block_urls

array of string

Tidak. Anda harus mengonfigurasi block_urls, block_headers, atau block_bodys.

-

URL yang digunakan untuk mencocokkan permintaan yang akan diblokir.

block_headers

array of string

Tidak. Anda harus mengonfigurasi block_urls, block_headers, atau block_bodys.

-

Header yang digunakan untuk mencocokkan permintaan yang akan diblokir.

block_bodys

array of string

Tidak. Anda harus mengonfigurasi block_urls, block_headers, atau block_bodys.

-

Badan permintaan yang digunakan untuk mencocokkan permintaan yang akan diblokir.

blocked_code

number

Tidak

403

Kode status HTTP yang dikembalikan jika permintaan diblokir.

blocked_message

string

Tidak

-

Badan respons HTTP yang dikembalikan jika permintaan diblokir.

case_sensitive

bool

Tidak

true

Menentukan apakah kondisi yang digunakan untuk mencocokkan permintaan peka huruf besar/kecil. Secara default, kondisi bersifat peka huruf besar/kecil.

Contoh

Blokir permintaan berdasarkan URL

block_urls:
- swagger.html
- foo=bar
case_sensitive: false

Permintaan berikut diblokir sesuai konfigurasi di atas:

curl http://example.com?foo=Bar
curl http://exmaple.com/Swagger.html

Blokir permintaan berdasarkan header permintaan

block_headers:
- example-key
- example-value

Permintaan berikut diblokir sesuai konfigurasi aturan di atas.

curl http://example.com -H 'example-key: 123'
curl http://exmaple.com -H 'my-header: example-value'

Blokir permintaan berdasarkan badan permintaan

block_bodys:
- "hello world"
case_sensitive: false

Permintaan berikut diblokir sesuai konfigurasi di atas:

curl http://example.com -d 'Hello World'
curl http://exmaple.com -d 'hello world'

Blokir permintaan untuk rute atau nama domain tertentu

Terapkan konfigurasi plug-in berikut pada rute route-a dan route-b:

  block_bodys: 
  - "hello world"

Terapkan konfigurasi plug-in berikut pada nama domain *.example.com dan test.com:

  block_urls: 
  - "swagger.html"
  block_bodys:
  - "hello world"
Catatan
  • Rute route-a dan route-b adalah rute yang ditentukan saat pembuatan rute gateway. Jika permintaan klien cocok dengan salah satu rute, aturan yang dikonfigurasi untuk rute tersebut akan diterapkan.

  • 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 dikonfigurasi untuk nama domain tersebut akan diterapkan.

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

Batas ukuran badan permintaan

Jika block_bodys dikonfigurasi, hanya permintaan dengan badan kurang dari 32 MB yang digunakan untuk pencocokan berdasarkan badan. Jika badan permintaan lebih besar dari 32 MB dan tidak memenuhi aturan yang ditentukan oleh block_urls dan block_headers, permintaan tersebut tidak diblokir.

Jika block_bodys dikonfigurasi dan badan permintaan melebihi nilai DownstreamConnectionBufferLimits yang dikonfigurasi untuk gateway, pesan kesalahan 413 Payload Too Large dikembalikan. Anda dapat meningkatkan nilai DownstreamConnectionBufferLimits pada halaman konfigurasi parameter. Namun, peningkatan ini akan meningkatkan penggunaan memori gateway secara signifikan. Berhati-hatilah saat melakukan operasi ini.