全部产品
Search
文档中心

API Gateway:Menyesuaikan konfigurasi mesin gateway

更新时间:Sep 19, 2025

Konfigurasi yang tepat dari mesin Gerbang API cloud-native dapat meningkatkan kinerja jaringan, keandalan, dan keamanan, memastikan operasi stabil serta pengalaman pengguna yang optimal. Artikel ini menjelaskan cara menyesuaikan parameter dan memberikan informasi rinci mengenai masing-masing.

Prasyarat

Buat Gerbang API cloud-native.

Langkah-langkah

Catatan
  • Untuk memastikan stabilitas instans, hanya parameter yang ditampilkan di Konsol yang dapat dimodifikasi.

  • Sebelum memodifikasi nilai parameter, periksa rentang validnya di halaman Parameter Mesin Gateway di Konsol.

  1. Masuk ke Konsol Gerbang API.

  2. Di panel navigasi sebelah kiri, klik Cloud-native API Gateway > Instance. Di bilah navigasi atas, pilih Wilayah.

  3. Di halaman Instance, klik ID instans target.

  4. Di panel navigasi sebelah kiri, pilih Parameter Settings. Di bagian Gateway Engine Parameters, temukan parameter target dan klik Edit di kolom Actions. Atur nilai parameter sesuai tabel berikut dan klik OK.

Deskripsi parameter mesin gateway

Parameter

Tipe

Rentang valid

Nilai default

Deskripsi

EnableHttp2

bool

[true, false]

false

Berlaku untuk fase permintaan. Menentukan apakah akan menggunakan HTTP/2 saat server dan klien bernegosiasi protokol.

  • true: Gunakan HTTP/2.

  • false: Jangan gunakan HTTP/2.

EnableGenerateRequestId

bool

[true, false]

true

Berlaku untuk cakupan permintaan. Jika diaktifkan, gateway menghasilkan ID permintaan (X-Request-Id) di header permintaan untuk secara unik mengidentifikasi permintaan.

  • true: Menghasilkan ID permintaan di header permintaan.

  • false: Tidak menyisipkan ID permintaan ke dalam header permintaan.

EnableGzip

bool

[true, false]

false

Berlaku untuk fase tanggapan.

  • true: Memampatkan tanggapan menggunakan Gzip. Ini mengurangi lalu lintas gateway tetapi meningkatkan konsumsi CPU gateway.

  • false: Mengembalikan tanggapan asli.

EnableGzipHardwareAccelerate

bool

[true, false]

false

Memampatkan menggunakan perangkat keras khusus. Jika diaktifkan, tanggapan dipampatkan, yang secara signifikan mengurangi lalu lintas gateway. Metode ini memberikan performa lebih tinggi dan konsumsi CPU lebih rendah dibandingkan kompresi Gzip berbasis perangkat lunak.

  • true: Mengaktifkan akselerasi perangkat keras Gzip.

  • false: Menonaktifkan akselerasi perangkat keras Gzip.

Penting
  • Fitur ini tidak tersedia di wilayah yang tidak didukung, atau jika Anda tidak mengaktifkan akselerasi perangkat keras Gzip saat membeli instans.

  • Setelah fitur ini diaktifkan, parameter EnableGzip dan ZipAlgorithm tidak akan lagi berlaku.

EnableSlashMerge

bool

[true, false]

false

Berlaku untuk fase permintaan. Menentukan apakah akan menggabungkan garis miring berturut-turut (/) di jalur permintaan.

  • true: Garis miring berlebih / di www.example.com//b digabungkan, sehingga menjadi sama dengan www.example.com/b.

  • false: Garis miring berturut-turut (/) tidak akan digabungkan.

DownstreamIdleTime

integer

[0, 600]

300

Berlaku untuk koneksi gateway. Jika tidak ada permintaan yang dikirim dari klien ke gateway dalam periode tertentu, koneksi ditutup. Unit: detik.

PreserveHeaderFormat

bool

[true, false]

false

Berlaku untuk fase permintaan dan tanggapan. Menurut spesifikasi HTTP/1.1, nama header bersifat case-insensitive. Untuk memastikan kompatibilitas dengan spesifikasi HTTP/2, nama header diubah menjadi huruf kecil secara default.

  • true: Mempertahankan format huruf besar/kecil header permintaan dan tanggapan.

  • false: Mengubah header permintaan dan tanggapan menjadi huruf kecil.

DownstreamConnectionBufferLimits

integer

[0, 2147483647]

32768

Berlaku untuk koneksi gateway. Mengontrol ukuran buffer untuk satu koneksi. Pengaturan ini memengaruhi throughput dan penggunaan memori gateway. Unit: byte.

EnableHardwareAccelerate

bool

[true, false]

true

Berlaku untuk enkripsi dan dekripsi TLS. Menentukan apakah akan mengaktifkan akselerasi perangkat keras. Parameter ini tidak berlaku jika wilayah Anda tidak mendukung akselerasi perangkat keras atau jika Anda tidak mengaktifkannya saat membeli instans.

  • true: Mengaktifkan akselerasi perangkat keras.

  • false: Menonaktifkan akselerasi perangkat keras.

Catatan

Karena keterbatasan perangkat keras, akselerasi perangkat keras hanya didukung di wilayah China (Beijing), China (Hangzhou), China (Shanghai), China (Shenzhen), dan Asia Pasifik SE 1 (Singapura).

XffTrustedNum

integer

[0, 10]

0

Berlaku untuk fase permintaan dan menentukan jumlah proxy tepercaya yang terletak sebelum gateway. Ini memengaruhi apakah gateway akan menggunakan header permintaan yang dihasilkan klien seperti x-forwarded-for dan x-request-id.

Jika nilainya 0, gateway menggunakan alamat IP peer socket sebagai alamat IP asal dan meneruskannya ke backend di header permintaan `x-envoy-external-address`.

Jika nilainya bukan 0, gateway menentukan alamat IP asal dari header `x-forwarded-for`, yang sudah mencakup alamat IP socket. Gateway melewati sejumlah hop tertentu dari kanan ke kiri dan kemudian mengekstrak alamat IP asal. Alamat IP ini kemudian diteruskan ke backend di header permintaan `x-envoy-external-address`. Gateway juga mempertahankan header `x-request-id` dan `x-forwarded-proto` yang dikirim oleh klien tanpa modifikasi.

DownstreamHttp2MaxConcurrentStream

integer

[0, 2147483647]

100

Berlaku untuk fase permintaan. Jumlah maksimum aliran simultan pada satu koneksi saat klien menggunakan HTTP/2.

InitialStreamWindowSize

integer

[65535, 2147483647]

65535

Berlaku untuk fase permintaan. Ukuran jendela aliran awal yang dinegosiasikan antara gateway dan klien saat menggunakan HTTP/2. Unit: byte.

InitialConnectionWindowSize

integer

[0, 2147483647]

1048576

Berlaku untuk fase permintaan. Ukuran jendela level koneksi awal saat gateway dan klien menggunakan HTTP/2. Unit: byte.

EnableHttp3

bool

[true, false]

false

Berlaku untuk fase permintaan. Menentukan apakah klien downstream dan gateway menggunakan HTTP/3 atau tidak.

  • true: Gunakan HTTP/3.

  • false: Jangan gunakan HTTP/3.

UpstreamIdleTimeout

int

[0, 600]

30

Berlaku untuk koneksi gateway. Jika tidak ada permintaan yang dikirim dari gateway ke layanan upstream dalam periode tertentu, koneksi ditutup. Unit: detik.

PathWithEscapedSlashes

string

  • KEEP_UNCHANGED

  • REJECT_REQUEST

  • UNESCAPE_AND_REDIRECT

  • UNESCAPE_AND_FORWARD

KEEP_UNCHANGED

Aturan pengalihan untuk permintaan yang Uniform Resource Identifier (URI) path-nya berisi karakter escape seperti %2F, %2f, %5C, atau %5c.

  • KEEP_UNCHANGED: Menjaga jalur tetap tidak berubah.

  • REJECT_REQUEST: Gateway mengembalikan kesalahan 400 dan menolak permintaan.

  • UNESCAPE_AND_REDIRECT: Menghilangkan karakter escape dan melakukan pengalihan.

  • UNESCAPE_AND_FORWARD: Menghilangkan karakter escape dan meneruskan permintaan.

ZipAlgorithm

List<string>

[brotli, gzip]

gzip

Algoritma yang digunakan setelah kompresi diaktifkan. Anda dapat memilih brotli atau gzip.

Jika Anda menentukan gzip dan brotli, dan nilai-q mereka di header `Accept-Encoding` sama, algoritma yang muncul pertama dalam daftar digunakan.

EnableProxyProtocol

bool

[true, false]

false

Mengaktifkan Protokol Proxy. Jika lalu lintas masuk gateway dirutekan melalui Network Load Balancer (NLB), Anda harus mengaktifkan fitur ini untuk mendapatkan alamat IP asal klien. Mengaktifkan fitur ini tidak memengaruhi permintaan yang tidak menggunakan Protokol Proxy.

EnableCustomAuthConfigPush

bool

[true, false]

false

Berlaku untuk skenario di mana layanan otentikasi mandiri digunakan. Jika diaktifkan, perubahan pada aturan otentikasi tidak menyebabkan gangguan koneksi. Ini cocok untuk skenario bisnis WebSocket dan online.