Jika layanan Anda mentransmisikan data sensitif, seperti informasi pengguna atau identitas, atau jika Anda ingin meningkatkan keamanannya, buat pendengar HTTPS untuk memproses permintaan HTTPS.
Prasyarat
Buat instans CLB. Untuk informasi selengkapnya, lihat Buat dan kelola instans CLB.
Batasan
Saat mengonfigurasi pendengar HTTPS, protokol backend hanya mendukung HTTP. Oleh karena itu, Anda harus mengatur server backend agar mendengarkan pada port HTTP (biasanya 80), bukan port HTTPS (biasanya 443). Selain itu, Anda tidak dapat mengonfigurasi pengalihan HTTP ke HTTPS pada port HTTP.
Catatan penggunaan
Waktu aktif tiket sesi default untuk pendengar HTTPS adalah 300 detik.
Lalu lintas aktual yang dihasilkan oleh pendengar HTTPS sedikit lebih tinggi daripada lalu lintas yang ditagih karena proses jabat tangan TLS.
Ketika jumlah koneksi baru tinggi, lalu lintas jabat tangan bisa signifikan.
Prosedur
Langkah 1: Konfigurasikan pendengar
Masuk ke Konsol Classic Load Balancer (CLB).
Di bilah navigasi atas, pilih wilayah tempat instans dideploy.
Pada halaman Instances, temukan instans target dan pilih salah satu metode berikut untuk mengonfigurasi pendengar:
Pada kolom Actions, klik Configure Listener.
Klik ID instans. Pada halaman detail instans, klik tab Listener, lalu klik Add Listener.
Pada wizard Protocol & Listener, konfigurasikan parameter berikut lalu klik Next.
Konfigurasi
Deskripsi
Select Listener Protocol
Pilih protokol untuk pendengar.
Pada contoh ini, HTTPS dipilih.
Instans CLB di wilayah Meksiko tidak mendukung pendengar HTTPS. Kami menyarankan Anda menggunakan instans Application Load Balancer (ALB) atau instans CLB di wilayah lain.
Backend Protocol
Jika protokol pendengar adalah HTTPS, Backend Protocol adalah HTTP.
Listener Port
Port yang menerima permintaan dan meneruskannya ke server backend. Nilai valid: 1 hingga 65535.
Tags
Pilih atau masukkan Tag Key dan Tag Value.
Advanced Settings
Klik Modify untuk membuka pengaturan lanjutan.
Scheduling Algorithm
Pilih algoritma penjadwalan. Default-nya adalah Round Robin (RR).
Weighted Round-robin: Server backend dengan bobot lebih tinggi menerima lebih banyak permintaan.
Round Robin: Permintaan didistribusikan ke server backend secara bergiliran.
Untuk informasi selengkapnya tentang algoritma penjadwalan dan kasus penggunaannya, lihat Scheduling algorithms.
Session Persistence
Persistensi sesi dinonaktifkan secara default.
Setelah Anda mengaktifkan persistensi sesi, load balancer akan meneruskan permintaan dari klien yang sama ke server backend yang sama.
Cookie Option:
Insert Cookie: Anda hanya perlu menentukan periode timeout cookie.
Permintaan berikutnya dari klien yang berisi 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: Anda dapat menentukan cookie yang akan dimasukkan ke respons HTTP atau HTTPS. Anda harus mengelola masa berlaku cookie di server backend Anda.
Jika load balancer mendeteksi cookie kustom, ia akan menulis ulang cookie asli. Saat klien mengirim permintaan berikutnya yang berisi cookie baru tersebut, load balancer akan meneruskan permintaan ke server backend yang sebelumnya dicatat.
Cookie Name: Jika Anda memilih Rewrite Cookie, masukkan nama cookie.
Enable HTTP/2
HTTP/2 diaktifkan secara default.
HTTP/2 memperkenalkan fitur bernama multiplexing. Jika Anda mengaktifkan HTTP/2 untuk protokol frontend instans CLB, instans CLB dapat menggunakan satu koneksi TCP untuk mentransmisikan beberapa permintaan dan respons HTTP secara bersamaan. Hal ini meningkatkan kinerja transmisi.
Access Control
Kontrol akses dinonaktifkan secara default.
Setelah Anda mengaktifkan kontrol akses, pilih metode kontrol akses dan daftar kontrol akses (ACL) untuk berfungsi 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 dalam ACL yang dipilih yang diteruskan. Daftar putih cocok untuk skenario di mana Anda hanya ingin mengizinkan akses dari alamat IP tertentu. Mengonfigurasi daftar putih dapat menimbulkan risiko bagi layanan Anda.
Jika Anda mengaktifkan daftar putih tetapi tidak menambahkan alamat IP apa pun ke ACL, pendengar akan meneruskan semua permintaan.
Blacklist: Forbids Specified IP Addresses to Access the SLB Instance. Permintaan dari alamat IP atau Blok CIDR dalam ACL yang dipilih tidak diteruskan. Blacklist cocok untuk skenario di mana Anda hanya ingin menolak 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 daftar kontrol akses (ACL) IPv6, dan instans IPv4 hanya dapat dikaitkan dengan ACL IPv4. Untuk informasi selengkapnya tentang cara mengonfigurasi ACL, lihat Create an access control list.
Bandwidth Throttling for Listeners
Untuk instans load balancer bayar-per-bandwidth, Anda dapat menetapkan bandwidth maksimum untuk setiap pendengar guna membatasi traffic. Total bandwidth semua pendengar tidak boleh melebihi bandwidth instans.
Fitur ini dinonaktifkan secara default. Secara default, pendengar berbagi total bandwidth instans. Untuk informasi selengkapnya tentang cara pendengar berbagi bandwidth, lihat Share the bandwidth of a CLB instance.
PentingJika Anda memiliki instans CLB publik dengan total bandwidth 5 Mbit/s dan dua pendengar, serta mengalokasikan seluruh 5 Mbit/s ke Pendengar A sementara Pendengar B tidak dikonfigurasi, Pendengar B menjadi tidak dapat diakses. Alokasikan bandwidth dengan hati-hati.
Jika Anda memiliki instans CLB privat dengan tiga pendengar, dan mengalokasikan total 5.120 Mbit/s ke Pendengar A dan B, Pendengar C menjadi tidak dapat diakses. Alokasikan bandwidth dengan hati-hati.
Untuk instans bayar-per-lalu-lintas, bandwidth pendengar tidak dibatasi secara default.
Idle Connection Timeout Period
Jumlah waktu maksimum koneksi TCP dapat tetap terbuka antara instans CLB dan klien saat tidak ada data yang ditransfer. Nilai valid: 1 hingga 60 detik. Nilai default: 15 detik.
Jika tidak ada permintaan yang diterima dalam periode timeout, load balancer akan menutup koneksi saat ini. Koneksi baru akan dibuat saat permintaan berikutnya tiba.
CatatanPengaturan ini berlaku untuk seluruh pendengar. Untuk menetapkan timeout koneksi berbeda untuk server backend tertentu, Anda harus mengonfigurasi pendengar terpisah untuk server tersebut dan menetapkan timeout yang diinginkan di pendengar baru.
Connection Request Timeout
Jika server backend tidak merespons dalam periode timeout, load balancer akan mengembalikan error HTTP 504 ke klien.
Nilai valid: 1 hingga 180 detik. Nilai default: 60 detik. Jika Anda memerlukan timeout permintaan yang lebih lama, kami menyarankan Anda menggunakan ALB, yang mendukung periode timeout maksimum 3.600 detik.
GZIP Compression
Aktifkan fitur ini untuk mengompresi file jenis tertentu. 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 field header HTTP kustom yang ingin Anda tambahkan:
Tambahkan header
X-Forwarded-Foruntuk mendapatkan alamat IP asli klien.CatatanSecara default, pendengar Lapisan 7 CLB menggunakan header X-Forwarded-For untuk menyimpan alamat IP klien. Header ini tidak dapat dinonaktifkan. Jika lebih dari satu alamat IP disimpan, yang pertama adalah alamat IP klien. Untuk konfigurasi detail, lihat Enable Layer 7 listeners to preserve client IP addresses and pass them to backend servers.
Tambahkan header
SLB-IDuntuk mendapatkan ID instans load balancer.Tambahkan header
SLB-IPuntuk mendapatkan alamat IP instans load balancer.Tambahkan header
X-Forwarded-Protountuk mendapatkan protokol pendengar load balancer.
Obtain Client Source IP Address
Fitur ini diaktifkan secara default untuk mendapatkan alamat IP asli klien.
Automatically Enable Listener
Diaktifkan secara default, fitur ini akan menjalankan pendengar secara otomatis setelah dikonfigurasi.
Langkah 2: Konfigurasikan sertifikat SSL
Pada langkah Certificate Management Service, pilih sertifikat server yang telah diunggah dari daftar drop-down Server Certificate. Anda juga dapat mengklik Create Server Certificate untuk mengunggah atau membeli yang baru. Untuk informasi selengkapnya tentang sertifikat, lihat Create a certificate.
Opsional: Klik Modify di samping Advanced Settings untuk mengaktifkan otentikasi timbal balik atau menetapkan kebijakan keamanan TLS.
Aktifkan Mutual Authentication dan pilih sertifikat CA yang telah diunggah, atau buat sertifikat CA baru. Untuk informasi selengkapnya, lihat Purchase and enable a private CA.
Pilih TLS Security Policy.
CatatanHanya instans kinerja tinggi yang mendukung kebijakan keamanan TLS.
Kebijakan keamanan TLS berisi versi protokol TLS dan paket sandi yang didukung untuk HTTPS. Untuk informasi selengkapnya, lihat TLS security policies.
Langkah 3: Tambahkan server backend
Pendengar HTTPS tidak mendukung kelompok server utama/cadangan.
Pada langkah Backend Servers, pilih Default Server Group lalu klik Add More.
Pada langkah Select Servers, pilih server backend yang ingin Anda tambahkan lalu klik Next.
Pada langkah Ports/Weights, atur bobot untuk setiap server, lalu klik Add.
CatatanBobot default adalah 100. Server backend dengan bobot lebih tinggi menerima lebih banyak permintaan.
Server dengan bobot 0 tidak menerima permintaan baru.
Konfigurasikan port tempat setiap server backend (Instance ECS) menerima permintaan, lalu klik Next. Nomor port harus antara 1 hingga 65535.
CatatanServer backend dari instans CLB yang sama dapat menggunakan port yang sama.
Langkah 4: Konfigurasikan pemeriksaan kesehatan
CLB menggunakan pemeriksaan kesehatan untuk menentukan ketersediaan server backend, yang meningkatkan ketersediaan keseluruhan layanan frontend dan mencegah server backend abnormal memengaruhi layanan.
Anda tidak dapat menonaktifkan pemeriksaan kesehatan untuk pendengar kelompok server utama/cadangan.
Opsional: Pada langkah Health Check, klik Modify untuk mengubah konfigurasi pemeriksaan kesehatan, lalu klik Next. Untuk informasi selengkapnya, lihat Configure and manage CLB health checks.
Pada langkah Configuration Review, tinjau konfigurasi pendengar dan klik Modify jika perlu melakukan perubahan.
Setelah Anda mengonfirmasi pengaturan, klik Submit. Setelah pendengar dibuat, klik OK.
Setelah konfigurasi selesai, pendengar baru akan muncul di tab Listeners.
FAQ
Dukungan enkripsi HTTPS end-to-end
Tidak. Saat Anda mengonfigurasi pendengar HTTPS, protokol backend hanya mendukung HTTP. Setelah instans CLB menerima permintaan HTTPS, ia mendekripsi permintaan tersebut dan meneruskan datanya ke server backend melalui HTTP. Hal ini menyederhanakan konfigurasi server backend dan menghindari overhead kinerja dari proses jabat tangan TLS di server backend.
Anda dapat menerapkan HTTPS end-to-end untuk layanan Anda dengan salah satu cara berikut:
Buat instans Application Load Balancer (ALB) dan konfigurasikan pendengar HTTPS untuk menerapkan HTTPS end-to-end. Untuk informasi selengkapnya, lihat Configure end-to-end HTTPS encryption.
Konfigurasikan pendengar TCP untuk instans CLB dan konfigurasikan sertifikat SSL di server backend.
Port yang direkomendasikan untuk HTTPS
Pendengar HTTPS dapat menggunakan port apa pun, tetapi kami merekomendasikan port standar 443.
Jenis sertifikat yang didukung
Anda dapat mengunggah sertifikat server dan sertifikat CA dalam format PEM.
Mengunggah sertifikat server memerlukan konten sertifikat dan kunci privat. Untuk sertifikat CA, hanya konten sertifikat yang diperlukan.
Dukungan untuk sertifikat Keytool
Ya.
Sebelum mengunggah sertifikat, Anda harus mengonversi sertifikat ke format PEM. Untuk informasi selengkapnya, lihat Convert certificate formats.
Dukungan untuk sertifikat PKCS#12 (PFX)
Ya.
Sebelum mengunggah sertifikat, Anda harus mengonversi sertifikat ke format PEM. Untuk informasi selengkapnya, lihat Convert certificate formats.
Penyebab error KeyEncryption
Error ini terjadi karena kunci privat tidak valid. Untuk informasi selengkapnya, lihat Certificate requirements and format conversion.
Versi protokol SSL yang didukung
TLSv1.0, TLSv1.1, TLSv1.2, dan TLSv1.3.
Waktu aktif tiket sesi HTTPS
Waktu aktif tiket sesi HTTPS adalah 300 detik.
Dukungan untuk sertifikat dengan DH PARAMETERS
Karena pendengar HTTPS menggunakan paket sandi ECDHE untuk forward secrecy, mereka tidak mendukung paket sandi DHE. Oleh karena itu, Anda tidak dapat mengunggah sertifikat PEM yang berisi field BEGIN DH PARAMETERS.
Dukungan SNI
Ya. Pendengar HTTPS CLB mendukung SNI. Untuk informasi selengkapnya, lihat Add and manage additional domain names for a CLB instance.
Dukungan WebSocket Secure (WSS)
Ya. Pendengar HTTPS CLB mendukung protokol WebSocket Secure (WSS) secara default. Untuk informasi selengkapnya, lihat tutorial Use CLB to enable real-time messaging over WebSocket.
Pengalihan HTTP ke HTTPS
Buat pendengar HTTPS terlebih dahulu. Kemudian, saat membuat pendengar HTTP, aktifkan Redirection by Listener. Untuk informasi selengkapnya, lihat Use CLB to redirect HTTP requests to HTTPS.
Topik terkait
HTTPS memberikan keamanan yang lebih baik tetapi dapat meningkatkan overhead, seperti sumber daya komputasi dan latensi jaringan. Dalam skenario seperti komunikasi jaringan internal, lingkungan pengujian dan pengembangan, atau transmisi data non-sensitif, pendengar HTTP mungkin lebih sesuai. Untuk informasi selengkapnya, lihat Add an HTTP listener. Namun, dalam lingkungan produksi, kami merekomendasikan penggunaan HTTPS untuk enkripsi dalam transit.
Untuk informasi selengkapnya tentang cara mengelola kelompok server backend, lihat topik berikut:
Untuk informasi selengkapnya tentang cara kerja pemeriksaan kesehatan, lihat Health checks for CLB. Untuk informasi selengkapnya tentang cara mengonfigurasi parameter pemeriksaan kesehatan, lihat Configure and manage CLB health checks.
Untuk informasi selengkapnya tentang algoritma penjadwalan, lihat Scheduling algorithms.
Jika Anda ingin menambahkan aturan pengalihan berbasis nama domain atau URL ke pendengar HTTPS, lihat Forward requests based on a domain name or URL.
Jika Anda ingin mengalihkan permintaan HTTP ke HTTPS, lihat Use CLB to redirect HTTP requests to HTTPS.
Jika Anda ingin menggunakan CLB untuk menerapkan otentikasi satu arah HTTPS, lihat Use CLB to deploy an HTTPS service (one-way authentication).
Jika Anda ingin menggunakan CLB untuk menerapkan otentikasi timbal balik HTTPS, lihat Use CLB to deploy an HTTPS service (mutual authentication).
Jika Anda ingin menggunakan CLB untuk mengonfigurasi website HTTPS multi-domain, lihat Configure a multi-domain HTTPS website on a single CLB instance.
Untuk mempelajari cara server backend mendapatkan alamat IP klien saat menggunakan pendengar HTTPS, lihat tutorial Obtain the real IP addresses of clients by using a Layer 7 listener of CLB.