Saat permintaan melewati gateway cloud-native, Anda mungkin perlu menyisipkan, menulis ulang, atau menghapus Header HTTP sebelum mencapai layanan backend atau sebelum tanggapan dikembalikan ke klien. Kebijakan pengaturan header di Microservices Engine (MSE) memungkinkan Anda menambah, mengubah, atau menghapus header pada permintaan maupun tanggapan di tingkat entri rute—tanpa mengubah kode aplikasi.
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
Gateway cloud-native MSE dengan setidaknya satu aturan routing
Perilaku tipe aksi
Setiap tipe aksi menangani header yang sudah ada secara berbeda. Pilih tipe aksi berdasarkan kasus penggunaan Anda:
| Tipe Aksi | Perilaku | Kasus Penggunaan |
|---|---|---|
| Add | Menambahkan nilai ke header. Jika header dengan kunci yang sama sudah ada, nilai baru digabungkan dengan nilai yang sudah ada, dipisahkan oleh koma (,). | Menambahkan header pelacakan kustom bersama nilai-nilai yang sudah ada. |
| Modify | Menetapkan header ke nilai yang ditentukan. Jika header belum ada, header tersebut dibuat. Jika header sudah ada, nilai yang ada akan ditimpa. | Memaksa Content-Type tertentu atau menyisipkan ID jejak, terlepas dari apakah header tersebut sudah ada atau belum. |
| Delete | Menghapus header yang ditentukan dari permintaan atau tanggapan. | Menghapus token autentikasi internal atau header debug sebelum meneruskan ke layanan hulu. |
Buat kebijakan pengaturan header
Masuk ke Konsol MSE. Di bilah navigasi atas, pilih Wilayah.
Di panel navigasi kiri, pilih Cloud-native Gateway > Gateways. Klik nama gateway tersebut.
Di panel navigasi kiri, klik Routes, lalu klik tab Routes.
Temukan aturan routing yang dituju, lalu klik Policies di kolom Actions.
Di panel navigasi kiri tab Policies, klik Headers. Di tab Edit Header, klik
atau Add Rule.Konfigurasikan parameter berikut, lalu klik Save di pojok kanan atas.
Parameter Deskripsi Header Type Pilih Request untuk mengubah header permintaan, atau Response untuk mengubah header tanggapan. Action Type Pilih Add, Modify, atau Delete. Untuk perilaku detail setiap tipe aksi, lihat Perilaku tipe aksi. Header Key Nama header (misalnya, X-Request-IDatauCache-Control).Header Value Nilai header dalam permintaan atau tanggapan. Aktifkan sakelar Enable untuk mengaktifkan kebijakan tersebut.
CatatanJika sakelar dimatikan, gateway tidak menerapkan modifikasi header apa pun yang didefinisikan dalam kebijakan ini.
Verifikasi hasil
Contoh berikut menunjukkan penambahan header tanggapan test: demo.

Kirim permintaan ke alamat IP ingress gateway: Ganti
<gateway-ingress-ip>dengan alamat IP ingress aktual gateway Anda.curl -I http://<gateway-ingress-ip>/demo/item/listPastikan tanggapan menyertakan header
test: demo: Baristest: demomengonfirmasi bahwa kebijakan pengaturan header berfungsi.HTTP/1.1 200 OK x-content-type-options: nosniff x-xss-protection: 1; mode=block cache-control: no-cache, no-store, max-age=0, must-revalidate pragma: no-cache expires: 0 x-frame-options: DENY content-type: application/json content-length: 86 date: Tue, 30 Nov 2021 03:03:04 GMT x-envoy-upstream-service-time: 4 test: demo server: istio-envoy
Skenario umum
Tabel berikut mencantumkan skenario manipulasi header umum beserta konfigurasi yang direkomendasikan untuk masing-masing:
| Skenario | Header Type | Action Type | Header Key | Header Value |
|---|---|---|---|---|
| Menambahkan header CORS ke tanggapan | Response | Modify | Access-Control-Allow-Origin | * |
| Menyisipkan ID jejak ke permintaan | Request | Modify | X-Request-ID | <trace-id> |
| Menghapus header internal sebelum meneruskan | Request | Delete | X-Internal-Debug | -- |
| Menambahkan tag routing ke permintaan | Request | Add | X-Route-Tag | canary |