全部产品
Search
文档中心

Server Load Balancer:Tambahkan Pendengar HTTP

更新时间:Nov 09, 2025

Jika Anda mengembangkan aplikasi yang menggunakan HTTP dan tidak memerlukan komunikasi terenkripsi untuk skenario seperti komunikasi jaringan internal, lingkungan pengujian dan pengembangan, atau mentransmisikan data non-sensitif, Anda dapat menambahkan pendengar HTTP ke instance Classic Load Balancer (CLB) untuk meneruskan permintaan melalui HTTP.

Prasyarat

Anda telah membuat instance Classic Load Balancer (CLB). Untuk informasi lebih lanjut, lihat Buat dan Kelola Instance CLB.

Prosedur

Langkah 1: Konfigurasikan pendengar

  1. Masuk ke Konsol Classic Load Balancer (CLB).

  2. Pilih wilayah tempat instance diterapkan.

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

    • Pada halaman Instance Management, temukan instance target, dan di kolom Actions, klik Listener Configuration Wizard.

    • Pada halaman Instance Management, klik ID instance target. Pada tab Listeners, klik Add Listener.

  4. Di wizard Protocol & Listener, konfigurasikan parameter berikut, lalu klik Next.

    Konfigurasi Pendengar

    Deskripsi

    Select Listener Protocol

    Pilih protokol pendengar.

    Topik ini memilih HTTP.

    Backend Protocol

    Jika Anda memilih protokol HTTP, maka Backend Protocol adalah HTTP.

    Listener Port

    Port pendengar yang digunakan untuk menerima permintaan dan meneruskan permintaan ke server backend. Nomor port harus berada di antara 1 dan 65535.

    Secara default, protokol HTTP menggunakan port 80.

    Tag

    Pilih atau masukkan Tag Key dan Tag Value.

    Advanced Configuration

    Klik Modify untuk memperluas konfigurasi lanjutan.

    Scheduling Algorithm

    Anda dapat memilih salah satu algoritma penjadwalan berikut. Secara default, Round-robin (RR) dipilih.

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

    • Round-robin (RR): Permintaan didistribusikan secara bergantian ke server backend.

    Untuk informasi lebih lanjut tentang algoritma penjadwalan dan skenario penggunaannya, lihat Pengenalan Algoritma Penjadwalan Server Load Balancer.

    Listener Forwarding

    Pilih apakah akan meneruskan lalu lintas dari pendengar HTTP ke pendengar HTTPS. Jika Anda mengaktifkan fitur ini, Anda harus memilih pendengar tujuan HTTPS.

    Catatan
    • Anda tidak dapat mengaktifkan penerusan pendengar untuk pendengar HTTP yang sudah ada. Anda harus membuat pendengar HTTP baru dan mengaktifkan penerusan pendengar.

    • Jika Anda mengaktifkan penerusan pendengar, pastikan bahwa Anda telah membuat pendengar HTTPS. Untuk informasi lebih lanjut, lihat tutorial Gunakan CLB untuk mengarahkan ulang permintaan HTTP ke HTTPS.

    Enable Session Persistence

    Persistensi sesi dinonaktifkan secara default.

    Setelah Anda mengaktifkan persistensi sesi, CLB mendistribusikan permintaan dari klien yang sama ke server backend yang sama. Persistensi sesi untuk HTTP didasarkan pada cookie.

    Cookie Handling Method:

    • Insert Cookie: Anda hanya perlu menentukan waktu kedaluwarsa cookie.

      Saat klien mengirim permintaan pertama, SLB menyisipkan cookie (SERVERID) ke dalam respons HTTP atau HTTPS. Saat klien mengirim permintaan berikutnya dengan cookie tersebut, layanan SLB meneruskan permintaan ke server backend yang sebelumnya tercatat.

      Session Timeout: Jika Anda memilih Insert Cookie, masukkan periode timeout sesi.

    • Rewrite Cookie: Anda dapat menentukan cookie yang akan disisipkan ke dalam respons HTTPS atau HTTP. Anda harus memelihara waktu kedaluwarsa dan masa hidup cookie di server backend.

      Jika layanan SLB mendeteksi cookie kustom, ia menulis ulang cookie asli. Saat klien mengirim permintaan berikutnya dengan cookie baru, layanan SLB meneruskan permintaan ke server backend yang sebelumnya tercatat.

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

    Enable Access Control

    Kontrol akses dinonaktifkan secara default.

    Setelah Anda mengaktifkan kontrol akses, pilih metode kontrol akses dan atur grup kebijakan kontrol akses sebagai daftar putih atau blacklist untuk pendengar.

    • Whitelist: Allows Specified IP Addresses to Access the SLB Instance. Hanya permintaan dari alamat IP atau blok CIDR yang ditentukan dalam ACL jaringan yang diteruskan. Daftar putih berlaku untuk skenario di mana Anda ingin mengizinkan akses hanya dari alamat IP tertentu. Layanan Anda mungkin terpengaruh jika daftar putih tidak dikonfigurasi dengan benar. Setelah daftar putih dikonfigurasi, hanya permintaan dari alamat IP yang ditambahkan ke daftar putih yang diteruskan oleh pendengar.

      Jika daftar putih dikonfigurasi tetapi tidak ada alamat IP yang ditambahkan ke daftar putih, pendengar meneruskan semua permintaan.

    • Blacklist: Forbids Specified IP Addresses to Access the SLB Instance. Permintaan dari alamat IP atau blok CIDR yang ditentukan dalam ACL jaringan ditolak. Blacklist berlaku untuk skenario di mana Anda ingin melarang akses dari alamat IP tertentu.

      Jika blacklist dikonfigurasi tetapi tidak ada alamat IP yang ditambahkan ke blacklist, pendengar meneruskan semua permintaan.

    • Whitelist: Hanya permintaan dari alamat IP atau blok CIDR yang ditentukan dalam ACL jaringan yang diteruskan. Daftar putih berlaku untuk skenario di mana Anda ingin mengizinkan akses hanya dari alamat IP tertentu. Layanan Anda mungkin terpengaruh jika daftar putih tidak dikonfigurasi dengan benar. Setelah daftar putih dikonfigurasi, hanya permintaan dari alamat IP yang ditambahkan ke daftar putih yang diteruskan oleh pendengar.

      Jika daftar putih dikonfigurasi tetapi tidak ada alamat IP yang ditambahkan ke daftar putih, pendengar meneruskan semua permintaan.

    • Blacklist: Permintaan dari alamat IP atau blok CIDR yang ditentukan dalam ACL jaringan ditolak. Blacklist berlaku untuk skenario di mana Anda ingin melarang akses dari alamat IP tertentu.

      Jika blacklist dikonfigurasi tetapi tidak ada alamat IP yang ditambahkan ke blacklist, pendengar meneruskan semua permintaan.

    Catatan

    Instance IPv6 hanya dapat diikat ke grup kebijakan kontrol akses IPv6. Instance IPv4 hanya dapat diikat ke grup kebijakan kontrol akses IPv4. Untuk informasi lebih lanjut, lihat Buat grup kebijakan kontrol akses.

    Enable Bandwidth Throttling For Listener

    Untuk instance SLB bayar-per-bandwidth, Anda dapat menetapkan bandwidth maksimum untuk setiap pendengar untuk membatasi lalu lintas yang diteruskan oleh pendengar. Jumlah total nilai bandwidth maksimum dari semua pendengar suatu instance tidak boleh melebihi bandwidth dari instance tersebut.

    Fitur ini dinonaktifkan secara default. Semua pendengar berbagi bandwidth total dari instance. Untuk informasi lebih lanjut tentang cara pendengar berbagi bandwidth total, lihat Pendengar dari instance CLB berbagi bandwidth dari instance.

    Penting
    • Jika total bandwidth Internet dari instance CLB yang menghadap ke Internet adalah 5 Mbit/s dan dua pendengar dikonfigurasikan, dan Anda mengalokasikan 5 Mbit/s bandwidth ke Pendengar A dan tidak ada bandwidth ke Pendengar B, port Pendengar B menjadi tidak dapat diakses. Berhati-hatilah saat mengalokasikan bandwidth.

    • Jika tiga pendengar dikonfigurasikan untuk instance CLB yang menghadap internal dan total 5.120 Mbit/s bandwidth dialokasikan ke Pendengar A dan B, port Pendengar C menjadi tidak dapat diakses. Berhati-hatilah saat mengalokasikan bandwidth.

    • Secara default, bandwidth maksimum tidak dibatasi untuk instance bayar-per-lalu-lintas.

    Connection Timeout

    Periode maksimum selama koneksi TCP antara instance CLB dan klien dapat tetap terbuka tanpa transmisi data. Nilai valid: 1 hingga 60. Nilai default: 15. Satuan: detik.

    Jika tidak ada permintaan yang diterima dalam periode timeout, SLB sementara memutus koneksi saat ini. Koneksi baru dibuat ketika permintaan berikutnya tiba.

    Catatan

    Setelah Anda menetapkan timeout koneksi, pengaturan tersebut berlaku untuk seluruh pendengar. Untuk menetapkan timeout koneksi untuk server backend tertentu, Anda harus mengonfigurasi pendengar terpisah untuk server backend tersebut dan menetapkan timeout koneksi di pendengar baru.

    Request Timeout

    Jika server backend tidak merespons dalam periode timeout, SLB berhenti menunggu dan mengembalikan kode kesalahan HTTP 504 ke klien.

    Nilai valid: 1 hingga 180. Nilai default: 60. Satuan: detik.

    Gzip Data Compression

    Jika Anda mengaktifkan fitur ini, file jenis tertentu dikompresi. Jika Anda menonaktifkan fitur ini, tidak ada file yang dikompresi. Kompresi data Gzip 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.

    Additional HTTP Header Fields

    Pilih field header HTTP kustom yang ingin Anda tambahkan:

    • Tambahkan header X-Forwarded-For untuk mendapatkan alamat IP asal klien.

      Catatan

      Secara default, pendengar Lapisan 7 CLB menggunakan header X-Forwarded-For untuk mendapatkan alamat IP asal klien. Fitur ini tidak dapat dinonaktifkan. Jika beberapa alamat IP diperoleh menggunakan field ini, alamat IP pertama adalah alamat IP asal klien. Untuk informasi lebih lanjut, lihat Dapatkan alamat IP asal klien melalui pendengar Lapisan 7 CLB.

    • Tambahkan header SLB-ID untuk mendapatkan ID instance SLB.

    • Tambahkan header SLB-IP untuk mendapatkan alamat IP instance SLB.

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

    Obtain Originating IP Address

    Dapatkan alamat IP asal pengunjung. Fitur ini diaktifkan secara default.

    Automatically Enable Listener After Creation

    Menentukan apakah akan mengaktifkan pendengar SLB setelah pendengar dikonfigurasi. Fitur ini diaktifkan secara default.

Langkah 2: Tambahkan server backend

Tambahkan server backend untuk memproses permintaan frontend. Anda dapat menggunakan kelompok server default yang dikonfigurasikan untuk instance atau mengonfigurasikan kelompok vServer untuk pendengar. Untuk informasi lebih lanjut, lihat Kelompok Server CLB. Topik ini menggunakan kelompok server default sebagai contoh.

Penting

Pendengar HTTP tidak mendukung kelompok server utama/cadangan.

  1. Di wizard Backend Servers, pilih Default Server Group, lalu klik Continue To Add.

  2. Di wizard Select Servers, pilih server backend yang diinginkan, lalu klik Next.

  3. Di wizard Configure Ports and Weights, atur bobot, lalu klik Add.

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

    • Server dengan bobot 0 tidak menerima permintaan baru.

  4. Konfigurasikan port di server backend (instance ECS) yang akan menerima permintaan, lalu klik Next. Port harus berupa angka dari 1 hingga 65535.

    Catatan

    Server backend instance SLB dapat menggunakan port yang sama.

Langkah 3: Konfigurasikan pemeriksaan kesehatan

CLB memeriksa ketersediaan server backend dengan melakukan pemeriksaan kesehatan. Ini meningkatkan ketersediaan keseluruhan layanan frontend dan mencegah gangguan layanan yang disebabkan oleh server backend yang tidak sehat.

  1. Opsional: Di wizard Health Check, klik Edit untuk memodifikasi konfigurasi pemeriksaan kesehatan, lalu klik Next. Untuk informasi lebih lanjut, lihat Konfigurasikan dan Kelola Pemeriksaan Kesehatan CLB.

  2. Di wizard Configuration Review, tinjau konfigurasi pendengar, lalu klik Modify untuk membuat perubahan.

  3. Konfirmasi konfigurasi, lalu klik Submit. Setelah konfigurasi diterapkan, klik OK.

    Setelah pendengar dibuat, Anda dapat melihatnya di tab Pendengar.

FAQ

Mengapa beberapa parameter di header respons server backend dihapus setelah permintaan diteruskan oleh load balancer Lapisan 7?

Untuk mengimplementasikan persistensi sesi, SLB memodifikasi nilai parameter seperti Date, Server, X-Pad, dan X-Accel-Redirect di header respons server backend.

Solusi:

  • Saat Anda menambahkan header pesan kustom ke header respons server backend, Anda dapat menambahkan awalan, seperti xl-server atau xl-date, untuk melewati pemrosesan SLB.

  • Ubah pendengar HTTP Lapisan 7 menjadi pendengar TCP Lapisan 4.

Mengapa bidang Transfer-Encoding: chunked ditambahkan ke header permintaan HTTP?

Fenomena:

Setelah nama domain dipetakan ke titik akhir load balancer Lapisan 7, bidang Transfer-Encoding: chunked ditambahkan ke header permintaan HTTP saat Anda mengakses nama domain dari host lokal. Bidang ini tidak ada saat Anda mengakses server backend langsung dari host lokal.

Penyebab:

Ini terjadi karena load balancing Lapisan 7 diimplementasikan menggunakan reverse proxy Tengine. Bidang Transfer-Encoding menunjukkan bagaimana server web memformat body pesan respons. Sebagai contoh, Transfer-Encoding: chunked menunjukkan bahwa server web menggunakan pengkodean transfer chunked untuk body pesan respons.

Catatan

Dalam load balancing Lapisan 4, SLB hanya meneruskan lalu lintas. Oleh karena itu, bidang ini tidak ditambahkan.

Bagaimana cara saya mengonfigurasi pendengar CLB untuk mendukung protokol WebSocket?

Pendengar HTTP CLB mendukung protokol WebSocket secara default. Untuk informasi lebih lanjut, lihat Ikhtisar Protokol WebSocket dan WebSocket Secure.