全部产品
Search
文档中心

Server Load Balancer:Tambahkan pendengar HTTP

更新时间:Feb 04, 2026

Pendengar memeriksa permintaan koneksi. Jika aplikasi Anda—seperti aplikasi web atau game seluler—perlu memeriksa konten data, Anda dapat menambahkan pendengar HTTP untuk meneruskan permintaan HTTP.

Prasyarat

Prosedur

Topik ini menjelaskan dua metode yang dapat Anda gunakan untuk membuat pendengar HTTP.

  • Buat Pendengar HTTP: Anda dapat menyesuaikan konfigurasi lanjutan dan fitur lain sesuai kebutuhan bisnis Anda.

  • Pembuatan cepat: Buat pendengar HTTP dengan cepat hanya dengan mengonfigurasi protokol pendengar, port pendengar, dan kelompok server backend.

Buat pendengar HTTP

  1. Masuk ke Konsol Application Load Balancer (ALB).

  2. Di bilah navigasi atas, pilih wilayah tempat instans ALB berada.

  3. Gunakan salah satu metode berikut untuk membuka wizard konfigurasi pendengar:

    • Di halaman Instances, klik Create Listener di kolom Actions pada instans target.

    • Di halaman Instances, klik ID instans ALB yang ingin Anda kelola. Di tab Listener, klik Create Listener.

  4. Di langkah Configure Listener, konfigurasikan parameter berikut, lalu klik Next.

    Konfigurasi pendengar

    Catatan

    Listener Protocol

    Pilih protokol pendengar.

    Dalam contoh ini, HTTP dipilih.

    Listener Port

    Masukkan port pendengar yang menerima permintaan dan meneruskannya ke server backend. Nilai port yang valid berkisar dari 1 hingga 65535. Biasanya, HTTP menggunakan port 80 dan HTTPS menggunakan port 443.

    Catatan

    Pada instans ALB yang sama, port pendengar harus unik untuk setiap protokol. Pendengar HTTP dan HTTPS tidak boleh menggunakan port yang sama.

    Dalam contoh ini, masukkan 80.

    Listener Name

    Masukkan nama untuk pendengar.

    Tag

    Atur tag key dan tag value.

    Setelah menetapkan tag, Anda dapat menyaring pendengar berdasarkan tag di tab Listener.

    Advanced Settings

    Klik Modify untuk memperluas konfigurasi lanjutan.

    Idle Connection Timeout Period

    Atur timeout koneksi idle. Nilai yang valid: 1 hingga 600 detik. Nilai default: 15 detik. Untuk meningkatkan kuota ini, buka Quota Center.

    Jika tidak ada permintaan akses yang tiba dalam periode timeout, Server Load Balancer sementara memutus koneksi saat ini dan membuat koneksi baru ketika permintaan berikutnya tiba.

    Catatan

    Fitur ini tidak berlaku untuk permintaan HTTP/2.

    Connection Request Timeout

    Atur timeout permintaan ke nilai antara 1 hingga 600 detik. Nilai default adalah 60 detik. Untuk meningkatkan kuota, ajukan permintaan di Quota Center.

    Jika server backend tidak merespons dalam periode timeout, Server Load Balancer berhenti menunggu dan mengembalikan kode kesalahan HTTP 504 ke client.

    Compression

    Aktifkan konfigurasi ini untuk mengompresi jenis file tertentu. Nonaktifkan untuk melewati kompresi untuk semua jenis file.

    • Brotli saat ini mendukung kompresi untuk semua jenis file.

    • Gzip mendukung jenis file berikut: text/xml, text/plain, text/css, application/javascript, application/x-javascript, application/rss+xml, application/atom+xml, application/xml, dan application/json.

    Catatan
    • Kompresi data hanya dipicu ketika nilai Content-Length dalam respons melebihi 1.024 byte.

    • Ketika permintaan client mendukung algoritma kompresi Brotli dan Gzip, ALB menggunakan Brotli karena lebih efisien.

    • Ketika permintaan client hanya mendukung Gzip dan jenis file tidak didukung oleh Gzip, ALB tidak mengompresi file tersebut.

    Retrieve Client IP

    Aktifkan instans ALB untuk mengambil IP sumber client sebenarnya dari header X-Forwarded-For. Setelah mengaktifkan fitur ini, atur daftar IP tepercaya.

    • Atur daftar IP tepercaya ke 0.0.0.0/0: Instans ALB menggunakan alamat IP paling kiri dalam header X-Forwarded-For sebagai IP sumber client sebenarnya.

    • Atur daftar IP tepercaya ke proxy1 IP;proxy2 IP;..: Instans ALB memindai header X-Forwarded-For dari kanan ke kiri dan menggunakan alamat IP pertama yang tidak termasuk dalam daftar tepercaya sebagai IP sumber client sebenarnya.

    Skenario

    Ketika header X-Forwarded-For berisi beberapa alamat IP—misalnya, X-Forwarded-For: <client-ip-address>, <proxy1>, <proxy2>, …—alamat paling kiri adalah IP client sebenarnya. Untuk menggunakan fitur pencocokan SourceIp dan QPS (rate limiting based on client source IP) dalam aturan pengalihan ALB, aktifkan sakelar Retrieve Real Client Source IP agar ALB dapat mengidentifikasi IP sumber client sebenarnya dari header X-Forwarded-For. Untuk informasi selengkapnya, lihat Tambahkan aturan pengalihan.

    Catatan

    Hanya instans ALB Edisi Standar dan ALB yang ditingkatkan WAF yang mendukung fitur Retrieve Real Client Source IP. Instans ALB Edisi Dasar tidak mendukung fitur ini.

    Additional HTTP Header Fields

    Pilih field header HTTP kustom yang ingin Anda tambahkan:

    • Pilih apakah akan mengaktifkan field header X-Forwarded-For untuk mendapatkan alamat IP asal client.

      • Jika Anda memilih Add X-Forwarded-For to preserve client IP addresses, ALB dapat menambahkan header X-Forwarded-For ke atau menghapus header X-Forwarded-For dari permintaan sebelum meneruskan permintaan ke server backend.

        • Add (default)

          Jika Anda memilih Add, ALB menambahkan alamat IP hop terakhir ke header X-Forwarded-For dalam permintaan sebelum meneruskan permintaan ke server backend. Jika permintaan tidak berisi header X-Forwarded-For, ALB membuat header X-Forwarded-For dengan nilai alamat IP hop terakhir dan menambahkannya ke permintaan. Header X-Forwarded-For dalam permintaan mungkin berisi beberapa alamat IP yang dipisahkan koma (,).

        • Remove

          Jika Anda memilih Remove, ALB menghapus header X-Forwarded-For dari permintaan sebelum meneruskan permintaan ke server backend.

      • Jika Anda tidak memilih Add X-Forwarded-For to preserve client IP addresses, ALB tidak melakukan apa pun terhadap header X-Forwarded-For dalam permintaan sebelum meneruskan permintaan ke server backend.

      Format:

      X-Forwarded-For: <client-ip-address>, <proxy1>, <proxy2>, …

      Klik untuk melihat contoh header X-Forwarded-For dalam permintaan yang diterima oleh server backend.

      Dalam contoh ini, alamat IP hop terakhir adalah 127.0.0.1.

      Deskripsi permintaan

      Contoh permintaan

      Pilih Add X-Forwarded-For to preserve client IP addresses

      Tidak memilih Add X-Forwarded-For to preserve client IP addresses

      Add

      Remove

      Permintaan yang diterima oleh ALB tidak berisi header X-Forwarded-For.

      GET /index.html HTTP/1.1

      Host: example.com

      X-Forwarded-For: 127.0.0.1

      Header X-Forwarded-For tidak ada.

      Header X-Forwarded-For tidak ada.

      Permintaan yang diterima oleh ALB berisi header X-Forwarded-For dan alamat IP client.

      GET /index.html HTTP/1.1

      Host: example.com

      X-Forwarded-For: 127.0.0.2

      X-Forwarded-For: 127.0.0.2, 127.0.0.1

      Header X-Forwarded-For tidak ada.

      X-Forwarded-For: 127.0.0.2

      Permintaan yang diterima oleh ALB berisi header X-Forwarded-For dan beberapa alamat IP client.

      GET /index.html HTTP/1.1

      Host: example.com

      X-Forwarded-For: 127.0.0.2, 127.0.0.3

      X-Forwarded-For: 127.0.0.2, 127.0.0.3, 127.0.0.1

      Header X-Forwarded-For tidak ada.

      X-Forwarded-For: 127.0.0.2, 127.0.0.3

      Untuk informasi selengkapnya tentang cara mengaktifkan ALB agar mempertahankan alamat IP client, lihat Dapatkan alamat IP asal client di server backend melalui Application Load Balancer.

    • Tambahkan field header SLB-ID untuk mendapatkan ID instans SLB.

    • Tambahkan field header X-Forwarded-Proto untuk mendapatkan protokol pendengar instans.

    • Tambahkan field header X-Forwarded-Port untuk mendapatkan port pendengar instans.

    • Tambahkan field header X-Forwarded-Host untuk mendapatkan nama domain yang digunakan client untuk mengakses instans SLB.

    • Tambahkan field header X-Forwarded-Client-srcport untuk mendapatkan port yang digunakan client untuk mengakses instans SLB.

    Catatan

    • Header X-Forwarded-For yang dibuat dan ditambahkan ke permintaan oleh ALB selalu diawali huruf "X" kapital.

    • Kecuali untuk X-Forwarded-For, untuk header yang disebutkan di atas, ALB memprosesnya mengikuti aturan yang dijelaskan di atas. Untuk header lainnya, ALB mempertahankannya dalam bentuk aslinya dalam permintaan.

  5. Di langkah Select Server Group, pilih kelompok server, tinjau server backend, lalu klik Next.

  6. Di langkah Confirm, tinjau konfigurasi, lalu klik Submit.

Buat pendengar HTTP secara cepat

Untuk membuat pendengar secara cepat, Anda hanya perlu mengonfigurasi protokol pendengar, port pendengar, dan kelompok server backend.

  1. Masuk ke Konsol Application Load Balancer (ALB).

  2. Di bilah navigasi atas, pilih wilayah tempat instans ALB berada.

  3. Di halaman Instances, temukan instans target dan klik ID instansnya.

  4. Klik tab Listeners. Di tab Listeners, klik Quick Create Listener.

  5. Di kotak dialog Quick Create Listener, konfigurasikan parameter berikut, lalu klik OK.

    Konfigurasi Pendengar

    Deskripsi

    Listener Protocol

    Pilih protokol pendengar. Dalam topik ini, HTTP dipilih.

    Listener Port

    Port frontend yang menerima dan meneruskan permintaan ke server backend.

    Pilih port umum atau masukkan nomor port. Nomor port harus berada dalam rentang 1 hingga 65535.

    Select Resource Group

    Pilih kelompok resource yang berisi kelompok server backend.

    Server Group

    Pilih tipe kelompok server backend dan tambahkan server backend.

FAQ

Bagaimana cara mencegah spoofing field X-Forwarded-For?

  • Tentukan field header di produk lain untuk mencatat alamat IP asal:

    Misalnya, dalam arsitektur Client > CDN > WAF > Server Load Balancer > ECS, CDN meneruskan alamat IP asal dalam field header HTTP Ali-Cdn-Real-Ip. Saat Anda menambahkan layanan ke WAF, atur metode deteksi IP client untuk menggunakan field header Ali-Cdn-Real-Ip. Di server backend Nginx, konfigurasikan variabel log untuk alamat IP asal sebagai $http_Ali_Cdn_Real_Ip.

  • Beralih ke pendengar Lapisan 4 (NLB atau CLB). Server backend kemudian dapat secara otomatis mendapatkan alamat IP asal. Untuk informasi selengkapnya, lihat Dapatkan alamat IP asal di server backend melalui pendengar Lapisan 4 CLB.

Apakah ALB mendukung protokol WebSocket?

Pendengar HTTP ALB mendukung protokol WebSocket secara default. Untuk informasi selengkapnya, lihat tutorial Gunakan protokol WebSocket dengan ALB untuk mendorong informasi secara real time.

Referensi

  • ALB menyediakan serangkaian aturan pengalihan lanjutan yang lengkap. Untuk informasi selengkapnya, lihat Kelola aturan pengalihan untuk pendengar.

  • Jika Anda menemui kode status abnormal, lihat Kode status ALB.

  • Jika Anda mengalami masalah pemeriksaan kesehatan, lihat Pemecahan masalah pemeriksaan kesehatan ALB.

  • Untuk tutorial berbasis skenario lainnya, lihat berikut ini:

    • Alihkan permintaan HTTP ke pendengar HTTPS: Gunakan aturan pengalihan pendengar ALB untuk mengalihkan permintaan HTTP ke HTTPS. Ini memastikan enkripsi data saat transit, mencegah serangan man-in-the-middle dan kebocoran data, serta membantu Anda membangun arsitektur jaringan yang memenuhi standar keamanan modern.

    • Gunakan fitur traffic mirroring untuk mencerminkan traffic produksi ke lingkungan staging: Gunakan fitur traffic mirroring ALB untuk mensimulasikan traffic langsung dengan mencerminkan traffic online ke server backend di lingkungan staging. ALB secara otomatis membuang tanggapan dari server backend yang dicerminkan ini, sehingga aktivitas pengujian tidak memengaruhi beban kerja online Anda.

    • Gunakan ALB untuk menerapkan rilis canary: Konfigurasikan aturan pengalihan pendengar untuk mengarahkan sebagian permintaan ke versi aplikasi baru berdasarkan kondisi tertentu atau bobot traffic untuk kelompok server yang berbeda. Hal ini memungkinkan Anda memvalidasi stabilitas versi baru secara bertahap dan mencapai rilis canary.