HTTPS adalah ekstensi dari HTTP yang menggunakan protokol SSL/TLS untuk mengenkripsi data yang ditransmisikan antara klien dan server. Jika layanan Anda harus mentransmisikan data sensitif, seperti kredensial pengguna atau informasi pribadi, atau jika Anda ingin meningkatkan keamanan layanan dan mencegah risiko keamanan potensial, Anda dapat membuat pendengar HTTPS untuk memproses permintaan HTTPS.
Prasyarat
Anda harus membuat instance CLB. Untuk informasi lebih lanjut, lihat Buat dan kelola instance CLB.
Batasan
Saat mengonfigurasi pendengar HTTPS, Anda hanya dapat menyetel protokol backend ke HTTP. Oleh karena itu, server backend harus menggunakan port HTTP, seperti port 80, bukan port HTTPS, seperti port 443. Selain itu, Anda tidak dapat mengonfigurasi port HTTP untuk pengalihan HTTP ke HTTPS.
Catatan Penggunaan
Periode timeout default untuk tiket sesi pada pendengar HTTPS adalah 300 detik.
Traffic aktual yang dihasilkan oleh pendengar HTTPS lebih besar daripada jumlah yang ditagihkan karena sebagian traffic dikonsumsi oleh jabat tangan protokol.
Jumlah koneksi baru yang tinggi mengonsumsi sejumlah besar traffic.
Prosedur
Langkah 1: Konfigurasikan pendengar
Masuk ke Konsol Classic Load Balancer (CLB).
Di bilah navigasi atas, pilih wilayah tempat instance CLB diterapkan.
Di halaman Instances, temukan instance target dan konfigurasikan pendengar menggunakan salah satu metode berikut:
Di kolom Actions, klik Configure Listener.
Klik ID instance. Di halaman Detail Instance, buka tab Listener dan klik Add Listener.
Di langkah Protocol & Listener, atur parameter berikut dan klik Next.
Konfigurasi Listener
Deskripsi
Select Listener Protocol
Pilih protokol pendengar.
Dalam contoh ini, HTTPS dipilih.
Backend Protocol
Jika protokol pendengar adalah HTTPS, maka Backend Protocol adalah HTTP.
Listener Port
Port pendengar yang digunakan untuk menerima permintaan dan meneruskannya ke server backend. Nomor port harus dalam rentang 1 hingga 65535.
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 ke server backend secara berurutan.
Untuk informasi lebih lanjut tentang algoritma penjadwalan dan skenario mereka, lihat Algoritma penjadwalan SLB.
Enable Session Persistence
Secara default, persistensi sesi dinonaktifkan.
Setelah persistensi sesi diaktifkan, SLB meneruskan semua permintaan dari klien yang sama ke server backend yang sama.
Cookie Option:
Insert Cookie: Anda hanya perlu menentukan periode timeout cookie.
Ketika klien mengirim permintaan pertama, SLB menyisipkan cookie (ServerId disisipkan ke dalam pesan respons HTTP atau HTTPS). Saat klien mengirim permintaan berikutnya yang berisi cookie, pendengar meneruskan permintaan ke server backend yang direkam.
Session Persistence Timeout Period: Jika Anda memilih Insert Cookie, masukkan periode timeout untuk persistensi sesi.
Rewrite Cookie: Anda dapat menentukan cookie yang ingin Anda sisipkan ke dalam respons HTTP atau HTTPS. Anda harus menentukan periode timeout dan masa hidup cookie di server backend.
Setelah Anda menentukan cookie, SLB menimpa cookie asli dengan cookie yang ditentukan. Saat SLB menerima permintaan klien berikutnya yang berisi cookie baru, pendengar mendistribusikan permintaan ke server backend yang direkam.
Cookie Name: Jika Anda memilih Rewrite Cookie, masukkan nama untuk cookie.
Enable HTTP 2.0
Secara default, HTTP 2.0 diaktifkan.
HTTP 2.0 menyediakan fitur multiplexing. Jika protokol frontend instance CLB diatur ke HTTP 2.0, instance CLB dapat menggunakan satu koneksi TCP untuk mentransmisikan beberapa permintaan dan respons HTTP secara bersamaan. Ini meningkatkan kinerja transmisi.
Enable Access Control
Secara default, kontrol akses dinonaktifkan.
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 secara negatif 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 ingin mengizinkan akses hanya dari alamat IP tertentu. Layanan Anda mungkin terpengaruh secara negatif 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.
CatatanInstance IPv6 hanya dapat dikaitkan dengan grup kebijakan kontrol akses IPv6, dan instance IPv4 hanya dapat dikaitkan dengan grup kebijakan kontrol akses IPv4. Untuk informasi lebih lanjut tentang cara mengonfigurasi kebijakan kontrol akses, lihat Buat grup kebijakan kontrol akses.
Enable Bandwidth Throttling For Listeners
Untuk instance SLB bayar-per-bandwidth, Anda dapat menetapkan bandwidth maksimum untuk setiap pendengar untuk membatasi traffic pendengar. Jumlah total nilai bandwidth maksimum dari semua pendengar sebuah instance tidak boleh melebihi bandwidth maksimum instance tersebut.
Secara default, fitur ini dinonaktifkan dan semua pendengar berbagi bandwidth total instance. Untuk informasi lebih lanjut tentang cara pendengar berbagi bandwidth total, lihat Pendengar instance CLB berbagi bandwidth instance.
PentingJika bandwidth Internet total instance CLB yang menghadap Internet adalah 5 Mbit/s dan dua pendengar dikonfigurasi, 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 Anda 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 Anda mengalokasikan bandwidth.
Secara default, bandwidth maksimum tidak dibatasi untuk instance bayar-per-lalu-lintas.
Connection Timeout
Periode maksimum waktu selama koneksi TCP antara instance CLB dan klien dapat tetap terbuka tanpa transmisi data. Nilainya berkisar dari 1 hingga 60. Nilai default adalah 15. Unit: detik.
Jika tidak ada permintaan yang diterima dalam periode timeout yang ditentukan, SLB menutup koneksi. Ketika permintaan lain diterima, SLB membuka koneksi baru.
CatatanSetelah Anda menyetel timeout koneksi, pengaturan tersebut berlaku untuk seluruh pendengar. Untuk menyetel timeout koneksi untuk server backend tertentu, Anda harus mengonfigurasi pendengar terpisah untuk server backend tersebut dan menyetel timeout koneksi di pendengar baru.
Connection Request Timeout
Jika tidak ada respons yang diterima dari server backend dalam periode timeout permintaan, SLB mengembalikan kode kesalahan HTTP 504 ke klien.
Nilainya berkisar dari 1 hingga 180. Nilai default adalah 60. Unit: detik.
Gzip Data Compression
Jika Anda mengaktifkan fitur ini, file jenis tertentu akan dikompresi. Jika Anda menonaktifkan fitur ini, tidak ada file yang dikompresi. Secara default, kompresi data Gzip diaktifkan.
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 field header
X-Forwarded-Foruntuk mendapatkan alamat IP asal klien.CatatanSecara default, pendengar Layer 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 Layer 7 CLB.
Tambahkan field header
SLB-IDuntuk mendapatkan ID instance SLB.Tambahkan field header
SLB-IPuntuk mendapatkan alamat IP instance SLB.Tambahkan field header
X-Forwarded-Protountuk mendapatkan protokol pendengar SLB.
Obtain Client 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: Konfigurasikan sertifikat SSL
Di langkah SSL Certificate, pilih sertifikat server yang telah diunggah, atau klik Create Server Certificate dari daftar drop-down Select Server Certificate. Anda juga dapat membeli sertifikat. Untuk informasi lebih lanjut, lihat Ikhtisar.
Opsional: Klik Modify di sebelah Advanced Configuration untuk mengaktifkan otentikasi timbal balik atau menyetel kebijakan keamanan TLS.
Nyalakan saklar Enable Mutual Authentication dan pilih sertifikat CA yang telah diunggah atau buat satu. Untuk informasi lebih lanjut, lihat Beli dan aktifkan CA pribadi.
Pilih TLS Security Policy.
CatatanHanya instance performa terjamin yang mendukung kebijakan keamanan TLS.
Kebijakan keamanan TLS berisi versi TLS yang didukung dan paket sandi untuk HTTPS. Untuk informasi lebih lanjut, lihat Kebijakan keamanan TLS.
Langkah 3: Tambahkan server backend
Tambahkan server backend untuk memproses permintaan frontend. Anda dapat menggunakan kelompok server default yang dikonfigurasikan untuk instance atau mengonfigurasi kelompok vServer untuk pendengar. Untuk informasi lebih lanjut, lihat Kelompok server CLB. Topik ini menggunakan kelompok server default sebagai contoh.
Pendengar HTTPS tidak mendukung kelompok server utama/cadangan.
Di wizard Backend Servers, pilih Default Server Group dan klik Continue To Add.
Di wizard Select Servers, pilih server backend yang diinginkan dan klik Next.
Di wizard Configure Ports and Weights, atur bobot dan klik Add.
CatatanBobot default adalah 100. Server backend dengan bobot lebih tinggi menerima lebih banyak permintaan akses.
Server dengan bobot 0 tidak menerima permintaan baru.
Konfigurasikan port pada server backend (instance ECS) yang akan menerima permintaan, lalu klik Next. Port harus berupa angka dari 1 hingga 65535.
CatatanServer backend instance SLB dapat menggunakan port yang sama.
Langkah 4: 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.
Anda tidak dapat menonaktifkan pemeriksaan kesehatan untuk pendengar kelompok server utama/cadangan.
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.
Di wizard Configuration Review, tinjau konfigurasi pendengar dan klik Modify untuk membuat perubahan.
Konfirmasi konfigurasi dan klik Submit. Setelah konfigurasi diterapkan, klik OK.
Setelah pendengar dibuat, Anda dapat melihatnya di tab Pendengar.
FAQ
Apakah CLB mendukung konfigurasi pendengar HTTPS untuk mencapai akses HTTPS end-to-end?
Tidak, Anda tidak dapat. Saat mengonfigurasi pendengar HTTPS, protokol backend hanya bisa HTTP. Ketika instance CLB menerima permintaan HTTPS dari klien, ia mendekripsi permintaan dan meneruskan data ke server backend melalui HTTP. Pendekatan ini menyederhanakan konfigurasi server backend dan mengurangi overhead kinerja dari jabat tangan TLS HTTPS.
Anda dapat menggunakan salah satu metode berikut untuk mengaktifkan akses HTTPS end-to-end:
Buat instance Application Load Balancer (ALB) dan konfigurasikan pendengar HTTPS untuk instance ini. Untuk informasi lebih lanjut, lihat Konfigurasikan akses HTTPS end-to-end untuk mencapai komunikasi terenkripsi.
Konfigurasikan pendengar TCP untuk instance CLB dan asosiasikan sertifikat SSL dengan server backend.
Port mana yang digunakan oleh pendengar HTTPS?
Pendengar HTTPS tidak memiliki persyaratan port khusus. Namun, kami sarankan Anda menggunakan port 443.
Jenis sertifikat apa yang didukung oleh Server Load Balancer?
SLB mendukung sertifikat server dan sertifikat CA dalam format PEM.
Untuk sertifikat server, Anda harus mengunggah file sertifikat dan kunci privat. Untuk sertifikat CA, Anda hanya perlu mengunggah file sertifikat.
Apakah Server Load Balancer mendukung sertifikat yang dibuat dengan keytool?
Ya, benar.
Namun, Anda harus mengonversi sertifikat ke format PEM sebelum mengunggahnya. Untuk informasi lebih lanjut, lihat Konversi format sertifikat.
Bisakah saya menggunakan sertifikat dalam format PKCS#12 (PFX)?
Ya, Anda bisa.
Namun, Anda harus mengonversi sertifikat ke format PEM sebelum mengunggahnya. Untuk informasi lebih lanjut, lihat Konversi format sertifikat.
Mengapa error KeyEncryption terjadi saat saya menambahkan sertifikat?
Error ini terjadi karena kunci privat tidak valid. Untuk informasi lebih lanjut, lihat Persyaratan sertifikat dan konversi format sertifikat.
Versi protokol SSL apa yang didukung oleh pendengar HTTPS Server Load Balancer?
TLSv1.0, TLSv1.1, TLSv1.2, dan TLSv1.3.
Berapa periode validitas tiket sesi HTTPS?
Periode validitas untuk tiket sesi HTTPS adalah 300 detik.
Bisakah saya mengunggah sertifikat yang berisi field DH PARAMETERS?
Paket sandi ECDHE yang digunakan oleh pendengar HTTPS mendukung forward secrecy tetapi tidak mendukung file parameter keamanan tambahan yang diperlukan oleh paket sandi DHE. Oleh karena itu, Anda tidak dapat mengunggah file sertifikat PEM yang berisi field BEGIN DH PARAMETERS.
Apakah pendengar HTTPS mendukung SNI?
Ya, mereka mendukung. Server Name Indication (SNI) merupakan ekstensi untuk SSL/TLS yang memungkinkan server menggunakan beberapa nama domain dan sertifikat. Pendengar HTTPS pada instance SLB mendukung SNI. Untuk informasi lebih lanjut, lihat Tambah dan kelola nama domain tambahan untuk instance CLB.
Referensi
HTTPS menawarkan keamanan lebih baik dibandingkan HTTP, tetapi dapat meningkatkan overhead seperti penggunaan sumber daya komputasi dan latensi jaringan. Dalam skenario seperti komunikasi jaringan internal, lingkungan pengujian dan pengembangan, atau transmisi informasi non-sensitif, Anda dapat menggunakan pendengar HTTP. Untuk detail lebih lanjut, lihat Tambahkan pendengar HTTP. Di lingkungan produksi, disarankan untuk menggunakan HTTPS demi transmisi data terenkripsi.
Untuk informasi lebih lanjut tentang cara mengelola kelompok server backend, lihat topik berikut:
Untuk penjelasan lebih lanjut tentang cara kerja pemeriksaan kesehatan, lihat Pemeriksaan kesehatan CLB. Untuk panduan konfigurasi parameter pemeriksaan kesehatan, lihat Konfigurasikan dan kelola pemeriksaan kesehatan CLB.
Untuk informasi lebih lanjut tentang algoritma penjadwalan, lihat Algoritma penjadwalan SLB.
Jika Anda ingin menambahkan aturan pengalihan berbasis nama domain atau URL ke pendengar HTTPS, lihat Teruskan permintaan berdasarkan nama domain atau URL.
Jika Anda ingin mengarahkan permintaan HTTP ke HTTPS, lihat Gunakan CLB untuk mengarahkan permintaan HTTP ke HTTPS.
Jika Anda ingin menggunakan CLB untuk menerapkan layanan otentikasi satu arah HTTPS, lihat Gunakan CLB untuk menerapkan layanan HTTPS (otentikasi satu arah).
Jika Anda ingin menggunakan CLB untuk menerapkan layanan otentikasi timbal balik HTTPS, lihat Gunakan CLB untuk menerapkan layanan HTTPS (otentikasi timbal balik).
Jika Anda ingin menggunakan CLB untuk mengonfigurasi situs web HTTPS multi-domain, lihat Konfigurasikan situs web HTTPS multi-domain pada instance CLB tunggal.
Jika Anda menggunakan pendengar HTTPS dan ingin server backend mendapatkan alamat IP asal klien dari instance CLB, lihat tutorial Dapatkan alamat IP asal menggunakan pendengar Layer 7 CLB.