Topik ini menjelaskan cara mengonfigurasi header Host dan prioritas konfigurasi header Host di API Gateway.
Ikhtisar
Header Host menentukan ke layanan backend mana API Gateway meneruskan permintaan jika beberapa aplikasi web atau situs berada di server backend yang sama, dalam hal ini aplikasi atau situs tersebut berbagi alamat IP. Sebagai contoh:
Layanan backend dari sebuah API adalah tipe virtual private cloud (VPC), dan beberapa aplikasi atau situs berjalan di VPC terkait. Dalam kasus ini, header Host digunakan untuk menentukan ke aplikasi atau situs mana API Gateway meneruskan permintaan.
Prosedur
1. Aktifkan Pass Host Header untuk grup API
Anda dapat memilih Pass Host Header di bagian Pengaturan Terusan Header Permintaan pada halaman detail grup API. Setelah Anda memilih Pass Host Header, API Gateway meneruskan parameter header Host dalam permintaan ke layanan backend untuk menggantikan pengaturan host backend, seperti string domain:port. Jika Anda tidak memilih Pass Host Header, API Gateway mengirimkan header Host yang Anda tentukan ke layanan backend.

2. Tambahkan parameter konstan host ke definisi API
Saat membuat API, Anda dapat menambahkan parameter konstan bernama host. Pilih Head untuk kolom Lokasi Parameter dan tetapkan nama domain layanan backend sebagai nilai untuk parameter konstan ini.

3. Konfigurasikan parameter Host untuk otorisasi akses VPC
Masuk ke konsol API Gateway. Di panel navigasi sebelah kiri, pilih . Pilih wilayah tempat VPC yang diinginkan berada, lalu klik Create Authorization di pojok kanan atas. Dalam kotak dialog Create VPC Access, konfigurasikan parameter Host.
4. Konfigurasikan host untuk layanan backend
Masuk ke konsol API Gateway. Di panel navigasi di sebelah kiri, pilih . Klik Create Backend Service di pojok kanan atas dan buat layanan backend tipe HTTP/HTTPS atau VPC. Hanya kedua tipe ini yang mendukung konfigurasi host. Setelah Anda membuat layanan backend, temukan layanan backend tersebut dan klik Configure Backend Service and View Associated APIs di kolom Actions. Di halaman Backend Service Definition, klik tab untuk memilih lingkungan, seperti Test, dan klik Create di pojok kanan atas untuk menentukan URL layanan backend dan host.

5. Konfigurasikan header Host di plugin perutean backend
Anda dapat menggunakan parameter httpTargetHostName atau vpcTargetHostName untuk menentukan header Host. Konfigurasi di plugin perutean backend memiliki prioritas tertinggi. Untuk informasi lebih lanjut, lihat bagian 1.3 dari Plugin perutean backend.
Prioritas konfigurasi header Host
Jika Anda mengonfigurasi header Host dengan semua lima metode, konfigurasi tersebut akan berlaku berdasarkan urutan prioritas berikut: plugin perutean backend > konfigurasi layanan backend > otorisasi akses VPC > konfigurasi grup API > definisi API.
Setelah Anda memilih Pass Host Header untuk grup API, API Gateway meneruskan parameter header Host dalam permintaan ke layanan backend untuk menggantikan pengaturan host backend, seperti string domain:port. Contoh:
Jika nilai header Host adalah apigateway.test.com dalam permintaan, URL layanan backend adalah backend.test.com, dan Pass Host Header diaktifkan, API Gateway meneruskan permintaan ke apigateway.test.com.