Topik ini menjelaskan header HTTP tambahan yang didukung oleh Application Load Balancer (ALB) dan cara mengonfigurasikannya untuk sebuah listener. Anda dapat menggunakan header ini untuk menerapkan fitur tertentu sesuai kebutuhan Anda.
Header ALB yang didukung
Header HTTP adalah bidang dalam bagian header pesan permintaan atau respons HTTP. Anda dapat menyesuaikan header untuk kebutuhan spesifik, yang dapat mengakibatkan penggunaan header HTTP tambahan oleh server web dan browser. Tabel berikut menjelaskan header HTTP tambahan yang didukung ALB beserta fungsinya.
|
Header field |
Description |
Listener protocols |
|
X-Forwarded-For |
Mengaktifkan listener untuk menggunakan header
Format:
Untuk petunjuk cara mengambil alamat IP client yang sebenarnya, lihat Retrieve the client IP on a backend server. |
|
|
SLB-ID |
Menambahkan header |
|
|
X-Forwarded-Proto |
Menambahkan header Format:
Contoh kasus penggunaan: Sebuah instans ALB menggunakan listener HTTPS, sedangkan komunikasi antara listener dan grup server backend-nya menggunakan HTTP. Dalam skenario ini, server backend menerima permintaan dengan protokol HTTP. Jika server backend dikonfigurasi dengan aturan untuk secara otomatis mengalihkan HTTP ke HTTPS, server tersebut mungkin salah mengira bahwa client menggunakan HTTP, sehingga menyebabkan loop pengalihan. Dengan mengaktifkan header |
|
|
X-Forwarded-Port |
Menambahkan header Format:
|
|
|
X-Forwarded-Host |
Menambahkan header Format:
|
|
|
X-Forwarded-Client-srcport |
Menambahkan header Format:
|
|
|
X-Forwarded-Clientcert-subjectdn |
Aktifkan bidang header Setelah Anda mengaktifkan header ini, Anda harus memasukkan nama header HTTP kustom. |
HTTPS |
|
X-Forwarded-Clientcert-issuerdn |
Aktifkan bidang header Setelah Anda mengaktifkan header ini, Anda harus memasukkan nama header HTTP kustom. |
HTTPS |
|
X-Forwarded-Clientcert-fingerprint |
Aktifkan bidang header Setelah Anda mengaktifkan header ini, Anda harus memasukkan nama header HTTP kustom. |
HTTPS |
|
X-Forwarded-Clientcert-clientverify |
Aktifkan bidang header Setelah Anda mengaktifkan header ini, Anda harus memasukkan nama header HTTP kustom. |
HTTPS |
Header HTTP tambahan tersebut dikonfigurasi menggunakan sakelar pada tingkat listener. Saat diaktifkan, ALB secara otomatis menambahkan header yang sesuai ke permintaan yang diteruskan ke server backend. Jika Anda perlu menyesuaikan nilai header—misalnya, menentukan protokol atau port permintaan asli—Anda dapat mengaturnya secara manual dengan menggunakan aksi Insert Header dalam aturan pengalihan. Sakelar tingkat listener cocok untuk sebagian besar skenario transmisi langsung, sedangkan aturan pengalihan ideal untuk skenario yang memerlukan kontrol detail halus terhadap nilai header. Pengaturan ini terletak di bagian Advanced Settings konfigurasi listener dan editor aturan pengalihan, masing-masing.
-
Kami merekomendasikan agar server backend Anda mengikuti spesifikasi HTTP dan memperlakukan kunci header HTTP sebagai case-insensitive.
-
Header X-Forwarded-For yang diteruskan ALB ke server backend selalu diawali huruf kapital.
-
Untuk header HTTP tambahan lainnya, jika permintaan klien sudah berisi salah satu header ini, ALB mempertahankan kapitalisasi aslinya saat meneruskannya. Jika tidak, ALB menambahkan header menggunakan kapitalisasi yang ditampilkan dalam tabel di atas.
-
-
Saat Anda mengaktifkan X-Forwarded-Clientcert-subjectdn, X-Forwarded-Clientcert-issuerdn, X-Forwarded-Clientcert-fingerprint, atau X-Forwarded-Clientcert-clientverify, Anda tidak dapat mengatur nama header HTTP kustom menjadi salah satu bidang terbatas berikut:
slb-id,slb-ip,x-forwarded-for,x-forwarded-proto,x-forwarded-eip,x-forwarded-port,x-forwarded-client-srcport,x-forwarded-host,connection,upgrade,content-length,transfer-encoding,keep-alive,te,host,cookie,remoteip, atauauthority. -
Tambahkan header di konsol
Tambahkan header saat pembuatan listener
-
Masuk ke ALB console.
-
Di bilah navigasi atas, pilih wilayah tempat instans ALB ditempatkan.
-
Gunakan salah satu metode berikut untuk membuka wizard konfigurasi listener:
-
Di halaman Instances, temukan instans yang ingin Anda kelola dan klik Create Listener di kolom Actions.
-
Di halaman Instances, klik ID instans target. Di tab Listener, klik Create Listener.
-
-
Di wizard Configure Listener, konfigurasikan parameter berikut lalu klik Next.
Parameter
Description
Listener Protocol
Pilih protokol untuk listener.
Advanced Settings
Klik Modify untuk membuka pengaturan lanjutan.
Custom HTTP Header
Pilih header HTTP tambahan yang ingin Anda aktifkan sesuai kebutuhan bisnis Anda.
CatatanBagian ini hanya menjelaskan parameter yang terkait header. Untuk informasi lebih lanjut tentang parameter lainnya, lihat topik berikut:
-
Ikuti petunjuk di layar untuk menyelesaikan pembuatan listener.
Tambahkan header ke listener yang sudah ada
-
Masuk ke ALB console.
-
Di bilah navigasi atas, pilih wilayah tempat instans ALB ditempatkan.
-
Di halaman Instances, klik ID instans target.
-
Di tab Listener, temukan listener target lalu pilih
>Modify Listener di kolom Actions. -
Di kotak dialog Modify Listener, klik Modify di sebelah kanan Advanced Settings.
-
Di bagian Custom HTTP Header, aktifkan atau nonaktifkan header sesuai kebutuhan, lalu klik Save.
Tambahkan header menggunakan API
Anda dapat mengonfigurasi header tambahan saat membuat listener atau memodifikasi konfigurasi header untuk listener yang sudah ada.
-
Buat listener: Panggil operasi API CreateListener dan konfigurasikan parameter XForwardedForConfig.
-
Modifikasi listener yang sudah ada: Panggil operasi API UpdateListenerAttribute untuk memperbarui parameter XForwardedForConfig.
Referensi
Konsol
-
Untuk meneruskan permintaan HTTP melalui instans ALB, lihat Add an HTTP listener.
-
Untuk meneruskan permintaan HTTPS melalui instans ALB, lihat Add an HTTPS listener.
-
Untuk meneruskan permintaan QUIC melalui instans ALB, lihat Add a QUIC listener.
API
-
CreateListener: Membuat listener HTTP, HTTPS, atau QUIC. Anda dapat menambahkan header HTTP dengan mengatur parameter XForwardedForConfig.
-
UpdateListenerAttribute: Memperbarui konfigurasi listener. Anda dapat memperbarui parameter XForwardedForConfig untuk memodifikasi konfigurasi header.