HTTPS adalah versi aman dari HTTP yang menggunakan protokol enkripsi SSL/TLS untuk melindungi transmisi data antara klien dan server. Untuk mengirimkan data sensitif, seperti informasi pengguna atau identitas, atau untuk meningkatkan keamanan serta mencegah potensi risiko keamanan, Anda dapat membuat pendengar HTTPS guna memproses permintaan HTTPS dari klien.
Prasyarat
Batasan
Saat mengonfigurasi pendengar HTTPS, protokol backend harus berupa HTTP. Oleh karena itu, port server backend harus diatur ke port HTTP, misalnya 80, bukan port HTTPS seperti 443. Pengalihan HTTP-ke-HTTPS tidak dapat dikonfigurasi pada port HTTP.
Catatan
Waktu hidup (TTL) tiket sesi untuk pendengar HTTPS secara default adalah 300 detik.
Pendengar HTTPS menghasilkan lebih banyak traffic daripada yang ditampilkan pada tagihan Anda karena sebagian traffic digunakan untuk proses jabat tangan protokol.
Banyak koneksi baru mengonsumsi jumlah traffic yang signifikan.
Prosedur
Langkah 1: Konfigurasikan pendengar
Masuk ke Konsol Classic Load Balancer (CLB).
Pada bilah navigasi atas, pilih wilayah tempat instans dideploy.
Pada halaman Instances, temukan instans target dan pilih salah satu metode berikut untuk mengonfigurasi pendengarnya.
Pada kolom Actions, klik Configure Listener.
Klik ID instans. Pada halaman detail instans, pilih tab Listeners, lalu klik Add Listener.
Pada wizard Protocol & Listener, konfigurasikan parameter berikut, lalu klik Next.
Konfigurasi Pendengar
Deskripsi
Select Listener Protocol
Pilih protokol untuk pendengar.
Pilih HTTPS.
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
Saat protokol pendengar adalah HTTPS, Backend Protocol adalah HTTP.
Listening Port
Port frontend yang digunakan untuk menerima permintaan dan meneruskannya ke server backend. Range port adalah 1 hingga 65535.
Tag
Pilih atau masukkan Tag Key dan Tag Value.
Advanced Configuration
Klik Modify untuk memperluas konfigurasi lanjutan.
Scheduling Algorithm
Pilih algoritma penjadwalan. 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 ke server backend secara berurutan.
Untuk informasi lebih lanjut tentang algoritma penjadwalan dan skenarionya, lihat Scheduling algorithms.
Enable Session Persistence
Persistensi sesi dinonaktifkan secara default.
Jika Anda mengaktifkan persistensi sesi, Server Load Balancer (SLB) meneruskan permintaan dari klien yang sama ke server backend yang sama.
Cookie Handling Method:
Insert cookie: Anda hanya perlu menentukan periode timeout cookie.
Saat klien mengirim permintaan pertama, SLB menyisipkan cookie (ServerId) ke dalam respons. Saat klien mengirim permintaan berikutnya yang berisi cookie tersebut, layanan SLB meneruskan permintaan ke server backend yang sebelumnya dicatat.
Cookie Timeout: Jika Anda memilih Insert cookie, masukkan periode timeout untuk persistensi sesi.
Rewrite cookie: Anda dapat menentukan cookie yang akan disisipkan ke respons HTTPS atau HTTP. Anda harus mempertahankan waktu kedaluwarsa dan TTL cookie pada server backend Anda.
Saat layanan SLB mendeteksi cookie kustom, cookie asli akan ditulis ulang. Saat klien mengirim permintaan berikutnya dengan cookie baru tersebut, layanan SLB meneruskan permintaan ke server backend yang sebelumnya dicatat.
Cookie: Jika Anda memilih Rewrite cookie, masukkan nama cookie tersebut.
Enable HTTP/2
HTTP/2 diaktifkan secara default.
HTTP/2 memperkenalkan fitur multiplexing. Setelah Anda mengaktifkan HTTP/2 untuk protokol frontend instans CLB, instans CLB dapat mengirimkan beberapa permintaan dan respons HTTP melalui satu koneksi TCP untuk meningkatkan performa transmisi.
Enable Access Control
Kontrol akses dinonaktifkan secara default.
Setelah Anda mengaktifkan kontrol akses, pilih metode kontrol akses dan grup kebijakan kontrol akses yang akan digunakan 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 hanya ingin mengizinkan akses dari alamat IP tertentu. Layanan Anda mungkin terganggu 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 menolak 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 hanya ingin mengizinkan akses dari alamat IP tertentu. Layanan Anda mungkin terganggu 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 menolak akses dari alamat IP tertentu.
Jika blacklist dikonfigurasi tetapi tidak ada alamat IP yang ditambahkan ke blacklist, pendengar meneruskan semua permintaan.
CatatanInstans IPv6 hanya dapat dikaitkan dengan grup kebijakan kontrol akses IPv6. Instans IPv4 hanya dapat dikaitkan dengan grup kebijakan kontrol akses IPv4. Untuk informasi lebih lanjut tentang cara mengonfigurasi kebijakan kontrol akses, lihat Create an access control policy group.
Enable Bandwidth Throttling for the Listener
Untuk instans SLB bayar-per-bandwidth, Anda dapat menentukan bandwidth maksimum untuk setiap pendengar guna membatasi traffic. Jumlah nilai bandwidth maksimum semua pendengar tidak boleh melebihi bandwidth maksimum instans.
Secara default, fitur ini dinonaktifkan dan semua pendengar berbagi bandwidth instans. Untuk informasi lebih lanjut tentang cara pendengar berbagi bandwidth instans, lihat Listeners share the bandwidth of an SLB instance.
PentingMisalnya, bandwidth maksimum instans CLB akses Internet adalah 5 Mbit/s, dan Anda mengonfigurasi dua pendengar. Anda mengalokasikan bandwidth 5 Mbit/s untuk Pendengar A, dan tidak mengalokasikan bandwidth untuk Pendengar B. Dalam kasus ini, Pendengar B tidak dapat diakses. Berhati-hatilah saat mengalokasikan bandwidth.
Jika tiga pendengar dikonfigurasi untuk instans CLB akses internal, dan total bandwidth yang dialokasikan untuk Pendengar A dan Pendengar B adalah 5.120 Mbit/s, Pendengar C tidak dapat diakses. Berhati-hatilah saat mengalokasikan bandwidth.
Jika digunakan instans CLB bayar-berdasarkan-transfer-data, bandwidth pendengar tidak dibatasi secara default.
Idle Connection Timeout
Periode maksimum koneksi TCP antara klien dan instans SLB dapat tetap idle. Rentang nilai: 1 hingga 60 detik. Nilai default: 15 detik.
Jika tidak ada permintaan yang diterima dalam periode timeout, SLB menutup koneksi. Koneksi baru dibuat saat permintaan berikutnya diterima.
CatatanRequest Timeout
Jika server backend tidak merespons dalam periode timeout, SLB berhenti menunggu dan mengembalikan kode kesalahan HTTP 504 ke klien.
Rentang nilai: 1 hingga 180 detik. Nilai default: 60 detik. Jika Anda memerlukan periode timeout permintaan yang lebih lama, kami menyarankan Anda menggunakan instans ALB, yang mendukung periode timeout maksimum hingga 3.600 detik.
Gzip Compression
Aktifkan fitur ini untuk mengompresi file jenis tertentu. Jika fitur ini 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.Additional HTTP Header Fields
Pilih field header HTTP kustom yang ingin Anda tambahkan:
Tambahkan header
X-Forwarded-Foruntuk mengambil alamat IP asal klien.CatatanPendengar Lapisan 7 SLB menggunakan header X-Forwarded-For untuk memperoleh alamat IP asal klien secara default. Anda tidak dapat menonaktifkan fitur ini. Jika beberapa alamat IP diperoleh dari field ini, alamat IP pertama adalah alamat IP asal. Untuk informasi lebih lanjut, lihat Obtain the originating IP addresses of clients through a Layer 7 listener of SLB.
Tambahkan header
SLB-IDuntuk mengambil ID instans SLB.Tambahkan header
SLB-IPuntuk mengambil alamat IP instans SLB.Tambahkan header
X-Forwarded-Protountuk mengambil protokol pendengar SLB.
Obtain Client IP Address
Dapatkan alamat IP asal pengunjung. Fitur ini diaktifkan secara default.
Automatically Start Listener After Creation
Tentukan apakah akan menjalankan pendengar SLB setelah dikonfigurasi. Fitur ini diaktifkan secara default.
Langkah 2: Konfigurasikan sertifikat SSL
Pada wizard SSL Certificate, pilih sertifikat server yang telah diunggah, atau klik Create Server Certificate di sebelah Select Server Certificate untuk mengunggah sertifikat baru. Anda juga dapat membeli sertifikat. Untuk informasi lebih lanjut, lihat Create a certificate.
Opsional: Klik Edit di sebelah Advanced Configuration untuk mengaktifkan otentikasi timbal balik HTTPS atau mengatur kebijakan keamanan TLS.
Aktifkan sakelar Enable Mutual Authentication dan pilih sertifikat CA yang telah diunggah atau buat yang baru. Untuk informasi lebih lanjut, lihat Purchase and enable a private CA.
Pilih TLS Security Policy.
CatatanAnda hanya dapat memilih kebijakan keamanan TLS untuk instans guaranteed-performance.
Kebijakan keamanan TLS berisi versi TLS dan paket sandi yang didukung. Untuk informasi lebih lanjut, lihat TLS security policies.
Langkah 3: Tambahkan server backend
Anda harus menambahkan server backend untuk memproses permintaan frontend. Anda dapat menggunakan kelompok server default yang dikonfigurasi untuk instans atau mengonfigurasi kelompok vServer untuk pendengar. Untuk informasi lebih lanjut, lihat Server groups of SLB. Langkah-langkah berikut menggunakan kelompok server default sebagai contoh.
Anda tidak dapat menambahkan kelompok server utama/cadangan ke pendengar HTTPS.
Langkah 4: Konfigurasikan pemeriksaan kesehatan
Anda tidak dapat menonaktifkan pemeriksaan kesehatan untuk pendengar yang dikaitkan dengan kelompok server utama/cadangan.
FAQ
Dapatkah saya mengonfigurasi pendengar HTTPS untuk instans CLB guna menerapkan komunikasi HTTPS end-to-end?
Tidak, Anda tidak dapat melakukannya. Saat mengonfigurasi pendengar HTTPS, protokol backend harus berupa HTTP. Setelah instans CLB menerima permintaan HTTPS dari klien, permintaan tersebut didekripsi dan datanya diteruskan ke server backend melalui HTTP. Hal ini menyederhanakan konfigurasi server backend dan mengurangi overhead performa akibat proses jabat tangan TLS.
Anda dapat menggunakan salah satu metode berikut untuk menerapkan komunikasi HTTPS end-to-end:
Buat instans Application Load Balancer (ALB) dan konfigurasikan pendengar HTTPS untuk menerapkan komunikasi HTTPS end-to-end. Untuk informasi lebih lanjut, lihat Configure end-to-end HTTPS communication to encrypt data.
Konfigurasikan pendengar TCP untuk instans Classic Load Balancer (CLB) dan konfigurasikan sertifikat SSL pada server backend.
Port apa yang digunakan oleh pendengar HTTPS?
Pendengar HTTPS tidak memiliki persyaratan khusus untuk port. Kami menyarankan Anda menggunakan port 443.
Jenis sertifikat apa yang didukung SLB?
SLB mendukung sertifikat server dan sertifikat CA dalam format PEM.
Untuk sertifikat server, Anda harus mengunggah konten sertifikat dan kunci privat. Untuk sertifikat CA, Anda hanya perlu mengunggah konten sertifikat.
Apakah SLB mendukung sertifikat yang dibuat menggunakan Keytool?
Ya.
Sebelum mengunggah sertifikat, Anda harus mengonversinya ke format PEM. Untuk informasi lebih lanjut, lihat Convert certificate formats.
Dapatkah saya menggunakan sertifikat dalam format PKCS#12 (PFX)?
Ya, Anda dapat melakukannya.
Sebelum mengunggah sertifikat, Anda harus mengonversinya ke format PEM. Untuk informasi lebih lanjut, lihat Convert certificate formats.
Mengapa terjadi error KeyEncryption saat saya menambahkan sertifikat?
Error ini terjadi karena kunci privat tidak valid. Untuk informasi lebih lanjut, lihat Certificate requirements and format conversion.
Versi protokol SSL apa saja yang didukung oleh pendengar HTTPS SLB?
TLSv1.0, TLSv1.1, TLSv1.2, dan TLSv1.3.
Berapa TTL tiket sesi HTTPS?
TTL tiket sesi HTTPS adalah 300 detik.
Dapatkah saya mengunggah sertifikat yang berisi field DH PARAMETERS?
Tidak, Anda tidak dapat melakukannya. Paket sandi ECDHE yang digunakan oleh pendengar HTTPS mendukung forward secrecy. Anda tidak dapat mengunggah file parameter peningkatan keamanan yang diperlukan oleh paket sandi DHE. Artinya, Anda tidak dapat mengunggah sertifikat PEM yang berisi field BEGIN DH PARAMETERS.
Apakah pendengar HTTPS mendukung SNI?
Server Name Indication (SNI) adalah ekstensi SSL/TLS yang memungkinkan satu server menghosting beberapa nama domain dan sertifikat. Pendengar HTTPS Server Load Balancer mendukung SNI. Untuk informasi lebih lanjut, lihat Add and manage additional domain names for CLB.
Apakah instans CLB mendukung protokol WebSocket Secure (WSS)?
Pendengar HTTPS CLB mendukung protokol WebSocket Secure (WSS) secara default. Untuk informasi lebih lanjut, lihat tutorial Using CLB and the WebSocket protocol to push real-time information.
Bagaimana cara mengonfigurasi pengalihan paksa dari HTTP ke HTTPS? (Pengalihan HTTP-ke-HTTPS)
Anda harus terlebih dahulu membuat pendengar HTTPS, lalu aktifkan Redirection by Listener saat membuat pendengar HTTP. Untuk informasi lebih lanjut, lihat Use CLB to redirect HTTP requests to HTTPS.
Referensi
HTTPS memberikan keamanan yang lebih baik tetapi dapat meningkatkan overhead, seperti sumber daya komputasi dan latensi jaringan. Dalam skenario seperti komunikasi jaringan internal, lingkungan pengembangan atau pengujian, atau transmisi informasi non-sensitif, Anda dapat menggunakan pendengar HTTP. Untuk informasi lebih lanjut, lihat Add an HTTP listener. Di lingkungan produksi, kami menyarankan Anda menggunakan HTTPS untuk transmisi terenkripsi.
Untuk informasi lebih lanjut tentang cara mengelola kelompok server backend, lihat topik berikut:
Untuk informasi lebih lanjut tentang prinsip pemeriksaan kesehatan, lihat Health checks for CLB. Untuk informasi lebih lanjut tentang parameter pemeriksaan kesehatan, lihat Configure and manage health checks for CLB.
Untuk informasi lebih lanjut tentang algoritma penjadwalan, lihat Scheduling algorithms.
Untuk menambahkan aturan pengalihan berbasis nama domain atau URL ke pendengar HTTPS, lihat Forward requests based on domain names or URL paths.
Untuk mengalihkan permintaan HTTP ke HTTPS, lihat Use CLB to redirect HTTP requests to HTTPS.
Untuk menggunakan CLB guna men-deploy layanan HTTPS yang menggunakan otentikasi satu arah, lihat Use CLB to deploy an HTTPS service (one-way authentication).
Untuk menggunakan CLB guna men-deploy layanan HTTPS yang menggunakan otentikasi timbal balik, lihat Use CLB to deploy an HTTPS service (mutual authentication).
Untuk menggunakan CLB guna mengonfigurasi website HTTPS multi-domain, lihat Configure a multi-domain HTTPS website on a single CLB instance.
Jika Anda menggunakan pendengar HTTPS dan memerlukan server backend untuk mengambil alamat IP asal klien melalui CLB, lihat Retrieve the originating IP addresses of clients over a Layer 7 listener of CLB.