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
Langkah-langkah
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.
Masuk ke Konsol Gerbang API.
Di panel navigasi sebelah kiri, klik . Di bilah navigasi atas, pilih Wilayah.
Di halaman Instance, klik ID instans target.
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.
|
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.
|
EnableGzip | bool | [true, false] | false | Berlaku untuk fase tanggapan.
|
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.
Penting
|
EnableSlashMerge | bool | [true, false] | false | Berlaku untuk fase permintaan. Menentukan apakah akan menggabungkan garis miring berturut-turut (
|
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.
|
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.
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.
|
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 | Aturan pengalihan untuk permintaan yang Uniform Resource Identifier (URI) path-nya berisi karakter escape seperti %2F, %2f, %5C, atau %5c.
|
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. |