All Products
Search
Document Center

Server Load Balancer:Tambahkan listener HTTP

Last Updated:Jul 29, 2026

Tambahkan listener HTTP ke instans CLB untuk meneruskan permintaan HTTP yang tidak dienkripsi. Skenario umum mencakup jaringan internal, lingkungan pengujian dan pengembangan, serta transfer data non-sensitif.

Prasyarat

Instans Classic Load Balancer telah dibuat. Buat dan kelola instans CLB.

Prosedur

Langkah 1: Konfigurasikan listener

  1. Masuk ke Konsol CLB.

  2. Pilih wilayah instans.

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

    • Pada halaman Instances, temukan instans target dan klik Configure Listener pada kolom Actions.

    • Pada halaman Instances, klik ID instans target. Lalu, pada tab Listener, klik Add Listener.

  4. Pada wizard Protocol & Listener, lengkapi pengaturan berikut lalu klik Next.

    Parameter

    Deskripsi

    Select Listener Protocol

    Pilih protokol listener.

    Pilih HTTP untuk contoh ini.

    Instans CLB di wilayah Meksiko tidak mendukung listener HTTP. Gunakan Application Load Balancer atau instans CLB di wilayah lain sebagai gantinya.

    Backend Protocol

    Ketika HTTP dipilih sebagai protokol listener, Backend Protocol secara otomatis diatur ke HTTP.

    Listener Port

    Port yang menerima dan meneruskan permintaan ke server backend. Nilai valid: 1 hingga 65535.

    Port HTTP default: 80.

    Tags

    Pilih atau masukkan Tag Key dan Tag Value.

    Advanced Settings

    Klik Modify untuk memperluas pengaturan lanjutan.

    Scheduling Algorithm

    Pilih algoritma penjadwalan. Round Robin adalah nilai default.

    • Weighted Round-robin: Server backend dengan bobot lebih tinggi menerima lebih banyak permintaan.

    • Round Robin: Permintaan didistribusikan ke server backend secara bergiliran.

    Untuk detail algoritma penjadwalan dan kasus penggunaannya, lihat Scheduling algorithms.

    Redirection by Listener

    Jika diaktifkan, CLB mengalihkan permintaan HTTP ke listener HTTPS tertentu dengan mengembalikan kode status 302. Untuk proses lengkapnya, lihat Redirect HTTP requests to HTTPS by using a CLB instance.

    Sebelum mengaktifkan pengalihan, buat listener HTTPS target dan konfigurasikan sertifikatnya.
    Pengalihan tidak dapat diaktifkan pada listener HTTP yang sudah ada. Hapus listener saat ini dan buat yang baru.

    Session Persistence

    Persistensi sesi dinonaktifkan secara default.

    Jika diaktifkan, CLB mengarahkan permintaan dari klien yang sama ke server backend yang sama menggunakan cookie.

    Cookie Option:

    • Insert Cookie: Tentukan hanya periode timeout cookie.

      Pada permintaan pertama, CLB menyisipkan cookie (ServerId) ke dalam respons. Permintaan selanjutnya yang menyertakan cookie ini akan diteruskan ke server backend yang sama.

      Session Persistence Timeout Period: Jika Anda memilih Insert Cookie, masukkan periode timeout untuk persistensi sesi.

    • Rewrite Cookie: Tentukan cookie kustom untuk disisipkan ke dalam respons. Anda harus mengelola masa kedaluwarsa dan masa aktif cookie ini di server backend Anda.

      CLB menimpa cookie asli dengan cookie kustom tersebut. Permintaan selanjutnya yang menyertakan cookie baru ini akan diteruskan ke server backend yang sama.

      Cookie Name: Jika Anda memilih Rewrite Cookie, masukkan nama cookie.

    Access Control

    Kontrol akses dinonaktifkan secara default.

    Jika diaktifkan, pilih metode kontrol akses dan daftar kontrol akses (ACL) sebagai daftar putih atau blacklist untuk listener.

    • Whitelist: allows only trusted IP addresses to access SLB.. Hanya permintaan dari alamat IP atau Blok CIDR dalam ACL yang dipilih yang diteruskan. Daftar putih membawa risiko: setelah dikonfigurasi, hanya alamat IP yang terdaftar yang dapat mengakses listener.

      Jika daftar putih diaktifkan tetapi ACL kosong, listener akan meneruskan semua permintaan.

    • Blacklist: denies access from specified IP addresses to SLB.. Permintaan dari alamat IP atau Blok CIDR dalam ACL yang dipilih akan diblokir.

      Jika blacklist diaktifkan tetapi ACL kosong, listener akan meneruskan semua permintaan.

    Catatan

    Instans IPv6 hanya mendukung ACL IPv6, dan instans IPv4 hanya mendukung ACL IPv4. Buat ACL.

    Bandwidth Throttling for Listeners

    Untuk instans CLB pay-by-bandwidth, atur bandwidth maksimum per listener untuk membatasi traffic. Jumlah total bandwidth semua listener tidak boleh melebihi total bandwidth instans.

    Dinonaktifkan secara default. Semua listener berbagi bandwidth instans. Lihat CLB listeners share the bandwidth of an instance.

    Penting
    • Jika instans CLB yang menghadap publik memiliki bandwidth total 5 Mbps dan Anda mengalokasikan seluruh 5 Mbps ke listener A dan 0 Mbps ke listener B, listener B menjadi tidak dapat diakses. Alokasikan bandwidth ke setiap listener dengan hati-hati.

    • Jika instans CLB akses internal memiliki tiga listener dan Anda mengalokasikan total 5.120 Mbps ke listener A dan B, listener C yang tersisa menjadi tidak dapat diakses. Alokasikan bandwidth ke setiap listener dengan hati-hati.

    • Instans pay-by-data-transfer tidak memiliki bandwidth maksimum default.

    Idle Connection Timeout Period

    Timeout koneksi idle. Nilai valid: 1 hingga 60 detik. Default: 15 detik.

    Jika tidak ada data yang ditransfer dalam periode timeout, CLB menutup koneksi. Koneksi baru akan dibuat pada permintaan berikutnya.

    Catatan
    • Timeout idle maksimum untuk listener CLB Lapisan 7 (HTTP/HTTPS) adalah 60 detik dan tidak dapat ditingkatkan. Jika workload Anda memerlukan timeout idle yang lebih lama, gunakan listener TCP Lapisan 4 (maksimal 900 detik) atau Application Load Balancer (ALB, timeout idle hingga 3.600 detik).

    • Pengaturan timeout koneksi berlaku untuk seluruh listener. Untuk mengatur timeout berbeda untuk server backend tertentu, konfigurasikan server tersebut dengan listener terpisah dan atur timeout pada listener tersebut.

    Connection Request Timeout

    Jika server backend tidak merespons dalam periode ini, CLB mengembalikan error HTTP 504 ke klien. Nilai valid: 1 hingga 180 detik. Default: 60 detik.

    Catatan

    Timeout permintaan maksimum untuk listener CLB Lapisan 7 (HTTP/HTTPS) adalah 180 detik dan tidak dapat ditingkatkan. Untuk timeout permintaan yang lebih lama, gunakan Application Load Balancer (ALB, timeout permintaan hingga 3.600 detik).

    GZIP Compression

    Mengompresi jenis file tertentu. Diaktifkan secara default.

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

    Custom HTTP Header

    Pilih header HTTP kustom yang akan ditambahkan:

    • Tambahkan header X-Forwarded-For untuk mengambil alamat IP asli klien.

      Catatan

      Listener CLB Lapisan 7 menggunakan X-Forwarded-For secara default untuk mengambil alamat IP klien. Ini tidak dapat dinonaktifkan. Jika header berisi beberapa alamat IP, yang pertama adalah alamat IP asli klien. Retrieve client IP addresses over a Layer 7 listener.

    • Tambahkan header SLB-ID untuk mengambil ID instans CLB.

    • Tambahkan header SLB-IP untuk mengambil alamat IP instans CLB.

    • Tambahkan header X-Forwarded-Proto untuk mengambil protokol listener instans CLB.

    Obtain Client Source IP Address

    Mengambil alamat IP asli pengunjung. Diaktifkan secara default.

    Automatically Enable Listener

    Menentukan apakah listener akan dijalankan setelah dibuat. Diaktifkan secara default.

Langkah 2: Tambahkan server backend

Tambahkan server backend untuk memproses permintaan. Gunakan kelompok server default atau buat Kelompok vServer. Lihat Server groups. Contoh ini menggunakan kelompok server default.

Penting

Listener HTTP tidak mendukung kelompok server utama/cadangan.

  1. Pada langkah Backend Servers, pilih Default Server Group, lalu klik Add More.

  2. Pada langkah Servers, pilih server backend yang ingin ditambahkan, lalu klik Next.

  3. Pada langkah Ports/Weights, atur bobot, lalu klik Add.

    Catatan
    • Bobot default adalah 100. Server backend dengan bobot lebih tinggi menerima lebih banyak permintaan.

    • Server dengan bobot 0 tidak menerima permintaan baru.

  4. Tentukan port yang digunakan setiap server backend (Instance ECS) untuk menerima permintaan, lalu klik Next. Nilai valid: 1 hingga 65535.

    Catatan

    Beberapa server backend dalam instans CLB yang sama dapat menggunakan port yang sama.

Langkah 3: Konfigurasikan pemeriksaan kesehatan

CLB menggunakan pemeriksaan kesehatan untuk menentukan ketersediaan server backend, sehingga meningkatkan keandalan layanan secara keseluruhan.

  1. Opsi: Pada langkah Health Check, klik Modify untuk mengubah pengaturan, lalu klik Next. Configure and manage CLB health checks.

  2. Pada langkah Confirm, tinjau konfigurasi listener. Klik Modify jika perlu mengubah pengaturan apa pun.

  3. Konfirmasi konfigurasi lalu klik Submit. Setelah listener dibuat, klik OK.

    Listener baru muncul di halaman.

FAQ

Header respons yang dihapus oleh listener Lapisan 7

Untuk mendukung persistensi sesi, CLB memodifikasi header respons seperti Date, Server, X-Pad, dan X-Accel-Redirect dari server backend.

Solusi alternatif:

  • Tambahkan awalan pada header respons kustom (misalnya, xl-server, xl-date) agar CLB tidak memprosesnya.

  • Beralih dari listener HTTP Lapisan 7 ke listener TCP Lapisan 4.

Header Transfer-Encoding: chunked dalam respons

Gejala:

Setelah nama domain dipetakan ke load balancer Lapisan 7, header "Transfer-Encoding: chunked" muncul dalam respons HTTP saat diakses dari mesin lokal. Header ini tidak ada saat server backend diakses langsung.

Penyebab:

Load balancing Lapisan 7 menggunakan reverse proxy Tengine, yang menerapkan chunked transfer encoding pada badan respons.

Catatan

Load balancing Lapisan 4 hanya meneruskan traffic dan tidak menambahkan header ini.

Dukungan WebSocket dalam listener CLB

Listener HTTP CLB mendukung WebSocket secara default. Use CLB to enable real-time messaging with WebSocket.

Bagaimana cara mengonfigurasi CLB agar hanya mengizinkan nama domain tertentu atau memblokir akses langsung melalui IP?

Listener HTTP/HTTPS (Lapisan 7) CLB mendukung aturan pengalihan berbasis nama domain dan URL, tetapi CLB tidak menyediakan fitur daftar izin atau daftar blokir domain bawaan. Anda dapat menerapkan kontrol akses berbasis domain secara tidak langsung dengan menggabungkan aturan pengalihan dan Kelompok vServer. Perlu dicatat bahwa ini adalah kontrol akses, bukan perlindungan keamanan. Untuk melindungi dari serangan seperti serangan CC dan Injeksi SQL, gunakan Web Application Firewall (WAF).

Blokir domain yang tidak cocok atau akses langsung melalui IP (kebijakan fallback)

  1. Buat Kelompok vServer kosong tanpa menambahkan server backend.

  2. Atur tujuan pengalihan default listener (kelompok server yang menerima traffic saat tidak ada aturan pengalihan yang cocok) ke Kelompok vServer kosong ini.

  3. Konfigurasikan aturan pengalihan berbasis domain yang mengarahkan traffic yang sesuai dengan domain target ke Kelompok vServer backend sebenarnya.

Dengan konfigurasi ini, permintaan yang sesuai dengan aturan pengalihan akan diarahkan ke Kelompok vServer backend yang sesuai, sedangkan permintaan yang tidak sesuai dengan aturan pengalihan apa pun—termasuk akses langsung melalui IP dan permintaan dari domain yang tidak dikenali—akan dialihkan ke Kelompok vServer kosong yang ditetapkan sebagai tujuan pengalihan default dan tidak dapat mencapai backend karena tidak tersedia server backend.

Blokir akses dari domain tertentu

Menggunakan Kelompok vServer kosong yang dibuat pada skenario sebelumnya, buat aturan pengalihan yang mengarahkan domain yang ingin diblokir ke Kelompok vServer kosong tersebut. Permintaan dari domain tersebut kemudian akan diblokir karena tidak tersedia server backend.