All Products
Search
Document Center

Alibaba Cloud Service Mesh:Migrasikan konfigurasi Nginx umum ke gerbang ASM

Last Updated:Jun 22, 2026

Panduan ini memetakan pengaturan konfigurasi Nginx umum ke padanannya dalam gerbang ASM.

Nginx configuration

Description

ASM gateway equivalent

allow-backend-server-header

Mengizinkan backend mengembalikan header Server alih-alih string Nginx generik.

Gerbang ASM mengaktifkan pengaturan ini secara default.

allow-snippet-annotations

Mengizinkan penggunaan potongan kode kustom dalam anotasi Ingress untuk memodifikasi konfigurasi Nginx.

Gerbang ASM tidak mendukung pengaturan ini. Dalam gerbang ASM, Anda harus memodifikasi konfigurasi gerbang dengan mengedit file YAML IstioGateway.

compute-full-forwarded-for

Menambahkan alamat remote ke header X-Forwarded-For alih-alih menggantinya.

Perilaku ini bergantung pada pengaturan Envoy use_remote_address, yang secara default bernilai true. Untuk informasi selengkapnya tentang cara Istio menangani header X-Forwarded-For, lihat Configuring Gateway Network Topology.

enable-underscores-inheaders

Mengizinkan penggunaan underscore dalam nama header.

Pengaturan ini dipetakan ke pengaturan Envoy headers_with_underscores_action, yang secara default mengizinkan underscore.

forwarded-for-header

Menentukan bidang header yang digunakan untuk mengidentifikasi alamat IP asli klien.

Gerbang ASM tidak mendukung header kustom untuk tujuan ini. Gerbang tersebut menggunakan X-Forwarded-For secara default.

generate-request-id

Menghasilkan X-Request-ID acak jika tidak ada dalam permintaan.

Pengaturan ini dipetakan ke pengaturan Envoy generate_request_id, yang diaktifkan secara default. Anda dapat memodifikasi pengaturan ini dengan menggunakan plugin ASM.

ignore-invalid-headers

Menentukan apakah header dengan nama tidak valid akan diabaikan. Nama header yang valid terdiri dari karakter alfanumerik dan tanda hubung (-). Nama tersebut juga boleh mencakup underscore (_).

Catatan

Penggunaan underscore dikendalikan oleh pengaturan enable-underscores-in-headers.

Envoy menyediakan Header Validator. Jika Anda tidak mengonfigurasi Header Validator, Envoy akan menggunakan validator default. Envoy menolak permintaan yang memiliki header tidak valid dengan error Bad Request.

~ $ curl httpbin:8000/headers -H "test-@@@:test" -I
HTTP/1.1 400 Bad Request
content-length: 11
content-type: text/plain
date: Tue, 01 Aug 2023 06:14:20 GMT
server: istio-envoy
connection: close

keep-alive-requests

Menetapkan jumlah maksimum permintaan yang dapat dilayani melalui satu koneksi keepalive. Setelah jumlah maksimum tercapai, koneksi tersebut ditutup.

Untuk mengonfigurasi pengaturan ini, lihat bidang connectionPool.maxRequestsPerConnection dalam DestinationRule.

log-format-upstream

Menyesuaikan format log.

Gerbang ASM mendukung format log kustom. Anda dapat mengonfigurasi format tersebut pada halaman pengaturan Observability di konsol ASM. Untuk informasi selengkapnya, lihat Observability settings.

max-worker-connections

Menetapkan jumlah maksimum koneksi yang dapat dibuka oleh satu proses worker.

ASM tidak menyediakan padanan langsung. Namun, Anda dapat menggunakan bidang connectionPool.tcp.maxConnections dalam DestinationRule untuk mengonfigurasi jumlah maksimum koneksi ke satu host.

proxy-body-size

Menetapkan ukuran maksimum yang diizinkan untuk badan permintaan klien. Jika badan permintaan melebihi ukuran ini, server mengembalikan error 413.

Anda tidak dapat mengonfigurasi pengaturan ini secara langsung. Gunakan chunked transfer encoding untuk badan berukuran besar.

proxy-connect-timeout

Menentukan timeout untuk membuat koneksi dengan server proxy. Nilai ini tidak boleh melebihi 75 detik.

Untuk mengonfigurasi pengaturan ini, lihat bidang connectionPool.http.connectTimeout dalam DestinationRule.

reuse-port

Membuat socket listening terpisah untuk setiap proses worker (menggunakan opsi socket SO_REUSEPORT), yang memungkinkan kernel melakukan load balance koneksi masuk di antara proses worker. Pengaturan ini diaktifkan secara default.

Gerbang ASM mengaktifkan pengaturan ini secara default.

server-tokens

Mengirimkan header server Nginx dalam tanggapan dan menampilkan versi Nginx pada halaman error. Pengaturan ini dinonaktifkan secara default.

Gerbang ASM menetapkan header server ke Envoy secara default, tetapi versi Envoy tidak ditampilkan pada halaman error.

ssl-redirect

Jika server diamankan dengan sertifikat TLS, pengaturan ini secara otomatis mengarahkan traffic HTTP ke HTTPS.

Untuk mengonfigurasi pengaturan ini, lihat bidang tls.httpsRedirect dalam Gateway.

upstream-keepalive-connections

Menetapkan jumlah maksimum koneksi keepalive idle ke server upstream yang disimpan dalam cache setiap proses worker.

ASM tidak menyediakan padanan langsung. DestinationRule menyediakan bidang connectionPool.tcp.maxConnections, yang memiliki tujuan serupa. Namun, pengaturan Istio berlaku untuk semua koneksi, sedangkan pengaturan Nginx hanya berlaku untuk koneksi idle.

upstream-keepalive-timeout

Menetapkan timeout setelah sistem menutup koneksi keepalive idle ke server upstream.

Untuk mengonfigurasi pengaturan ini, lihat bidang connectionPool.http.idleTimeout dalam DestinationRule.

use-forwarded-headers

  • Jika bernilai true, Nginx meneruskan header X-Forwarded-* yang masuk ke server upstream. Pengaturan ini biasanya digunakan ketika Nginx berada di belakang proxy L7 lain.

  • Jika bernilai false, Nginx mengabaikan header yang masuk dan menghasilkan header sendiri.

Untuk informasi selengkapnya tentang cara Istio menangani header X-Forwarded-For, lihat Configuring Gateway Network Topology.

worker-cpu-affinity

Mengikat proses worker ke set CPU tertentu.

Dalam lingkungan kontainer, kami tidak merekomendasikan mengonfigurasi opsi ini. Menggunakan pengaturan default sudah cukup.

Untuk informasi selengkapnya, lihat Ingress Nginx.