Tambahkan pendengar HTTP ke instans Classic Load Balancer (CLB) Anda untuk meneruskan permintaan HTTP bagi aplikasi yang tidak memerlukan komunikasi terenkripsi. Kasus penggunaan umum mencakup jaringan internal, lingkungan pengujian dan pengembangan, serta transfer data tidak sensitif.
Prasyarat
Anda telah membuat instans Classic Load Balancer. Untuk informasi selengkapnya, lihat Buat dan kelola instans CLB.
Prosedur
Langkah 1: Konfigurasikan pendengar
Masuk ke Konsol CLB.
Pilih wilayah instans.
Gunakan salah satu metode berikut untuk membuka wizard konfigurasi pendengar:
Pada halaman Instances, temukan instans target lalu klik Actions di kolom Configure Listener.
Pada halaman Instances, klik ID instans target. Kemudian, pada tab Listener, klik Add Listener.
Pada wizard Protocol & Listener, lengkapi pengaturan berikut lalu klik Next.
Parameter
Deskripsi
Select Listener Protocol
Pilih protokol untuk pendengar.
Pada contoh ini, HTTP dipilih.
Instans CLB di wilayah Meksiko tidak mendukung pendengar HTTP. Kami menyarankan Anda menggunakan Application Load Balancer atau instans CLB di wilayah lain.
Backend Protocol
Jika Anda memilih HTTP sebagai protokol pendengar, Backend Protocol secara otomatis diatur ke HTTP.
Listener Port
Port yang digunakan pendengar untuk menerima permintaan dan meneruskannya ke server backend. Nilai valid: 1 hingga 65535.
HTTP menggunakan port 80 secara default.
Tags
Pilih atau masukkan Tag Key dan Tag Value.
Advanced Settings
Klik Modify untuk memperluas pengaturan lanjutan.
Scheduling Algorithm
Pilih algoritma penjadwalan. Round Robin dipilih secara default.
Weighted Round-robin: Server backend dengan bobot lebih tinggi menerima lebih banyak permintaan.
Round Robin: Permintaan didistribusikan ke server backend secara berurutan.
Untuk informasi selengkapnya mengenai algoritma penjadwalan dan kasus penggunaannya, lihat Algoritma penjadwalan.
Redirection by Listener
Jika diaktifkan, CLB mengalihkan permintaan dari pendengar HTTP ini ke pendengar HTTPS yang ditentukan dengan mengembalikan kode status
302. Untuk proses lengkapnya, lihat Alihkan permintaan HTTP ke HTTPS menggunakan instans CLB.Sebelum mengaktifkan pengalihan, pastikan Anda telah membuat pendengar HTTPS target dan mengonfigurasi sertifikatnya.
Pengalihan tidak dapat diaktifkan pada pendengar HTTP yang sudah ada. Untuk mengonfigurasi pengalihan, Anda harus menghapus pendengar saat ini dan membuat yang baru.
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 berbasis cookie.
Cookie Option:
Insert Cookie: Anda hanya perlu menentukan periode timeout cookie.
Saat klien mengirim permintaan pertama, instans CLB menyisipkan cookie (ServerId) ke respons HTTP atau HTTPS. Saat klien mengirim permintaan berikutnya dengan cookie ini, instans CLB meneruskan permintaan tersebut ke server backend yang sebelumnya dicatat.
Session Persistence Timeout Period: Jika Anda memilih Insert Cookie, masukkan periode timeout untuk persistensi sesi.
Rewrite Cookie: Anda dapat menentukan cookie untuk disisipkan ke respons HTTP atau HTTPS. Anda harus mengelola masa kedaluwarsa dan masa aktif cookie ini di server backend Anda.
Saat instans CLB mendeteksi cookie kustom, cookie tersebut akan menimpa cookie aslinya. Saat klien mengirim permintaan berikutnya dengan cookie baru ini, instans CLB meneruskan permintaan tersebut ke server backend yang sebelumnya dicatat.
Cookie Name: Jika Anda memilih Rewrite Cookie, masukkan nama cookie tersebut.
Access Control
Kontrol akses dinonaktifkan secara default.
Setelah Anda mengaktifkan kontrol akses, pilih metode kontrol akses dan daftar kontrol akses (ACL) untuk digunakan sebagai daftar putih atau blacklist untuk pendengar.
Whitelist: allows only trusted IP addresses to access SLB. Hanya permintaan dari alamat IP atau Blok CIDR yang tercantum dalam ACL yang dipilih yang diteruskan. Daftar putih cocok untuk skenario di mana Anda hanya ingin mengizinkan akses dari alamat IP tertentu. Namun, pengaturan daftar putih membawa risiko bisnis tertentu—setelah dikonfigurasi, hanya alamat IP dalam daftar tersebut yang dapat mengakses pendengar CLB.
Jika Anda mengaktifkan daftar putih tetapi tidak menambahkan alamat IP apa pun ke ACL, pendengar akan meneruskan semua permintaan.
Blacklist: denies access from specified IP addresses to SLB. Permintaan dari alamat IP atau Blok CIDR yang ditentukan dalam ACL yang dipilih tidak diteruskan. Blacklist cocok untuk skenario di mana Anda hanya ingin memblokir akses dari alamat IP tertentu.
Jika Anda mengaktifkan blacklist tetapi tidak menambahkan alamat IP apa pun ke ACL, pendengar akan meneruskan semua permintaan.
CatatanInstans IPv6 hanya dapat dikaitkan dengan ACL IPv6, dan instans IPv4 hanya dapat dikaitkan dengan ACL IPv4. Untuk informasi selengkapnya, lihat Buat ACL.
Bandwidth Throttling for Listeners
Untuk instans CLB pay-by-bandwidth, Anda dapat menetapkan bandwidth maksimum untuk setiap pendengar guna membatasi trafiknya. Jumlah nilai bandwidth maksimum untuk semua pendengar tidak boleh melebihi total bandwidth instans.
Secara default, fitur ini dinonaktifkan, dan semua pendengar berbagi total bandwidth instans. Untuk informasi selengkapnya tentang cara pendengar berbagi bandwidth, lihat Pendengar CLB berbagi bandwidth instans.
PentingIdle Connection Timeout Period
Periode timeout untuk koneksi idle. Nilainya dapat berkisar antara 1 hingga 60 detik. Nilai default adalah 15 detik.
Jika tidak ada data yang ditransfer melalui koneksi dalam periode timeout yang ditentukan, CLB menutup koneksi tersebut. Koneksi baru dibuat saat permintaan berikutnya tiba.
CatatanConnection Request Timeout
Jika server backend tidak merespons dalam periode timeout ini, instans CLB berhenti menunggu dan mengembalikan error HTTP 504 ke klien.
Nilainya dapat berkisar antara 1 hingga 180 detik. Nilai default adalah 60 detik. Untuk timeout permintaan yang lebih lama, kami menyarankan menggunakan Application Load Balancer, yang mendukung timeout maksimum hingga 3.600 detik.
GZIP Compression
Aktifkan fitur ini untuk mengompresi file jenis tertentu. Jika dinonaktifkan, tidak ada file yang dikompresi. Kompresi 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, danapplication/xml.Custom HTTP Header
Pilih header HTTP kustom yang ingin Anda tambahkan:
Tambahkan header
X-Forwarded-Foruntuk mengambil alamat IP asli klien.CatatanSecara default, pendengar Lapisan 7 CLB menggunakan header X-Forwarded-For untuk mengambil alamat IP klien. Fitur ini tidak dapat dinonaktifkan. Jika header ini berisi beberapa alamat IP, alamat pertama adalah alamat IP asli klien. Untuk informasi selengkapnya, lihat Ambil alamat IP klien melalui pendengar Lapisan 7.
Tambahkan header
SLB-IDuntuk mengambil ID instans CLB.Tambahkan header
SLB-IPuntuk mengambil alamat IP instans CLB.Tambahkan header
X-Forwarded-Protountuk mengambil protokol pendengar instans CLB.
Obtain Client Source IP Address
Mengambil alamat IP asli pengunjung. Fitur ini diaktifkan secara default.
Automatically Enable Listener
Menentukan apakah akan menjalankan pendengar setelah dibuat. Fitur ini diaktifkan secara default.
Langkah 2: Tambahkan server backend
Tambahkan server backend untuk memproses permintaan masuk. Anda dapat menggunakan kelompok server default yang dikonfigurasi untuk instans atau membuat Kelompok vServer untuk pendengar. Untuk informasi selengkapnya, lihat Kelompok server. Contoh ini menggunakan kelompok server default.
Pendengar HTTP tidak mendukung kelompok server utama/cadangan.
Langkah 3: Konfigurasikan pemeriksaan kesehatan
FAQ
Header respons yang dihapus oleh pendengar Lapisan 7
Untuk menerapkan persistensi sesi, instans CLB memodifikasi nilai header seperti Date, Server, X-Pad, dan X-Accel-Redirect dalam respons dari server backend.
Solusi:
Saat menambahkan header kustom ke respons server backend, gunakan awalan seperti xl-server atau xl-date agar tidak diproses oleh instans CLB.
Ubah pendengar HTTP Lapisan 7 menjadi pendengar TCP Lapisan 4.
Header Transfer-Encoding: chunked dalam respons
Gejala:
Setelah nama domain dipetakan ke alamat layanan load balancer Lapisan 7, header "Transfer-Encoding: chunked" ditambahkan ke respons HTTP saat Anda mengakses domain tersebut dari mesin lokal. Header ini tidak muncul saat Anda mengakses server backend secara langsung.
Penyebab:
Hal ini terjadi karena load balancing Lapisan 7 diimplementasikan berdasarkan reverse proxy Tengine. Header Transfer-Encoding menunjukkan cara server web mengenkoding badan respons. Misalnya, "Transfer-Encoding: chunked" berarti server web menggunakan chunked transfer encoding untuk badan respons.
Dalam layanan load balancing Lapisan 4, instans CLB hanya meneruskan trafik dan tidak menambahkan header ini.
Dukungan WebSocket dalam pendengar CLB
Pendengar HTTP CLB mendukung protokol WebSocket secara default. Untuk informasi selengkapnya, lihat Gunakan CLB untuk mengaktifkan pesan real-time dengan WebSocket.
Dokumen terkait
Di lingkungan produksi, kami menyarankan Anda menggunakan HTTPS untuk transmisi terenkripsi. Untuk informasi selengkapnya, lihat Tambahkan pendengar HTTPS.
Untuk informasi selengkapnya tentang kelompok server, lihat topik berikut:
Untuk memahami cara kerja pemeriksaan kesehatan, lihat Pemeriksaan kesehatan CLB. Untuk petunjuk mengonfigurasi pemeriksaan kesehatan, lihat Konfigurasikan dan kelola pemeriksaan kesehatan CLB.
Untuk informasi selengkapnya tentang algoritma penjadwalan, lihat Algoritma penjadwalan.
Untuk menambahkan kebijakan penerusan berbasis nama domain atau URL ke pendengar HTTP, lihat Teruskan permintaan berdasarkan nama domain atau URL.
Untuk memahami cara server backend mengambil alamat IP klien saat menggunakan pendengar HTTP, lihat tutorial Ambil alamat IP klien melalui pendengar Lapisan 7.