Jika aplikasi Anda memerlukan transfer data terenkripsi, buat Pendengar HTTPS untuk meneruskan permintaan yang menggunakan protokol HTTPS. Pendengar ini mengenkripsi lalu lintas antara instans Application Load Balancer (ALB) dan klien yang menginisiasi sesi SSL atau TLS.
Prasyarat
Anda telah membuat instans ALB.
Anda telah menerapkan Kebijakan keamanan TLS dan setidaknya satu Sertifikat server SSL pada instans ALB.
Anda telah membuat kelompok server backend.
Prosedur
Topik ini menjelaskan dua metode untuk membuat Pendengar HTTPS. Pilih metode yang sesuai dengan kebutuhan Anda.
Buat Pendengar HTTPS: Metode ini memungkinkan Anda menyesuaikan fitur lanjutan, seperti otentikasi timbal balik.
Buat Pendengar HTTPS dengan cepat: Metode ini memungkinkan Anda membuat Pendengar dengan cepat hanya dengan mengonfigurasi protokol Pendengar, Port Pendengar, Sertifikat server, Kebijakan keamanan TLS, dan kelompok server backend.
Buat Pendengar HTTPS
Langkah 1: Konfigurasikan pendengar
Masuk ke Konsol Application Load Balancer (ALB).
Di bilah navigasi atas, pilih wilayah tempat instans diterapkan.
Gunakan salah satu metode berikut untuk membuka wizard konfigurasi pendengar:
Di halaman Instances, temukan instans target dan klik Create Listener di kolom Actions.
Di halaman Instances, klik ID instans target. Di tab Listener, klik Create Listener.
Di wizard Configure Listener, atur parameter berikut dan klik Next.
Konfigurasi Listener
Deskripsi
Listener Protocol
Pilih protokol untuk pendengar.
Dalam contoh ini, HTTPS dipilih.
Listener Port
Masukkan port pendengar yang digunakan untuk menerima permintaan dan meneruskannya ke server backend. Dalam contoh ini, 443 dimasukkan. Port 80 adalah port default untuk HTTP dan port 443 adalah port default untuk HTTPS.
Nomor port harus antara 1 dan 65535.
CatatanDalam instans ALB yang sama, pendengar dengan protokol yang sama tidak dapat menggunakan port yang sama. Pendengar HTTP dan HTTPS tidak dapat menggunakan port yang sama.
Listener Name
Masukkan nama untuk pendengar.
Tag
Atur Tag Key dan Tag Value.
Setelah Anda mengatur tag, Anda dapat memfilter pendengar berdasarkan tag di tab Listener.
Advanced Settings
Klik Modify untuk memperluas Konfigurasi Lanjutan.
Enable HTTP/2
Pilih apakah akan mengaktifkan HTTP/2.
Idle Connection Timeout Period
Tentukan periode timeout idle. Nilai valid: 1 hingga 600 detik. Nilai default: 15 detik. Jika Anda ingin menggunakan nilai yang lebih besar, kunjungi Pusat Kuota untuk meminta peningkatan kuota.
Jika tidak ada permintaan yang diterima dalam periode timeout, Server Load Balancer sementara memutus koneksi saat ini. Koneksi baru dibuat ketika permintaan berikutnya diterima.
CatatanFitur ini tidak berlaku untuk permintaan HTTP/2.
Connection Request Timeout
Tentukan periode timeout permintaan. Nilai valid: 1 hingga 600 detik. Nilai default: 60 detik. Jika Anda ingin menggunakan nilai yang lebih besar, kunjungi Pusat Kuota untuk meminta peningkatan kuota.
Jika tidak ada respons yang diterima dari server backend dalam periode timeout, Server Load Balancer menyerah dan mengembalikan kode kesalahan HTTP 504 ke klien.
Data Compression
Aktifkan fitur ini untuk mengompres jenis file tertentu. Jika fitur ini dinonaktifkan, tidak ada file yang dikompres.
Brotli mendukung semua jenis file.
Gzip mendukung jenis file berikut:
text/xml,text/plain,text/css,application/javascript,application/x-javascript,application/rss+xml,application/atom+xml,application/xml, danapplication/json.
CatatanKompresi data hanya dipicu ketika
Content-Lengthdari respons melebihi 1024 byte.Jika permintaan klien mendukung Brotli dan Gzip, ALB menggunakan Brotli, yang lebih efisien.
Jika klien hanya mendukung Gzip dan jenis file tidak didukung oleh Gzip, ALB tidak mengompres file tersebut.
Retrieve Client IP
Aktifkan fitur ini untuk memungkinkan ALB mengambil alamat IP klien asal dari bidang header X-Forwarded-For. Setelah Anda mengaktifkan fitur ini, Anda harus mengonfigurasi daftar alamat IP tepercaya.
Jika Anda mengatur daftar alamat IP tepercaya menjadi
0.0.0.0/0: Mengambil alamat IP paling kiri dari header permintaan X-Forwarded-For sebagai alamat IP klien asal.Jika Anda mengatur daftar alamat IP tepercaya menjadi
proxy1 IP;proxy2 IP;..: Mengambil alamat IP pertama dari kanan yang tidak ada dalam daftar ini sebagai alamat IP klien asal.
Skenario:
Header permintaan X-Forwarded-For dapat berisi beberapa alamat IP, seperti
X-Forwarded-For: <client-ip-address>, <proxy1>, <proxy2>, …. Alamat paling kiri adalah alamat IP klien. Untuk menggunakan kondisi pencocokan SourceIp dan fitur QPS (throttling Based On Client Source IP) dalam aturan pengalihan ALB, aktifkan Find Originating Client IP Address. Ini memungkinkan ALB menemukan alamat IP klien asal dari bidang header X-Forwarded-For. Untuk informasi lebih lanjut, lihat Tambahkan aturan pengalihan.CatatanHanya instans ALB Standar dan WAF-enabled yang mendukung fitur ini. Instans ALB Dasar tidak.
Add HTTP Header Fields
Pilih bidang header HTTP kustom yang ingin Anda tambahkan:
Pilih apakah akan mengaktifkan bidang header
X-Forwarded-Foruntuk mendapatkan alamat IP klien.Jika Anda memilih
Tambahkan X-Forwarded-For untuk menyimpan alamat IP klien, ALB dapat menambahkan headerX-Forwarded-Foratau menghapus headerX-Forwarded-Fordari permintaan sebelum meneruskan permintaan ke server backend.Add (default)
Jika Anda memilih Add, ALB menambahkan alamat IP hop terakhir ke header X-Forwarded-For dalam permintaan sebelum meneruskan permintaan ke server backend. Jika permintaan tidak mengandung header X-Forwarded-For, ALB membuat header X-Forwarded-For yang nilainya adalah alamat IP hop terakhir dan menambahkan header ke permintaan. Header X-Forwarded-For dalam permintaan dapat berisi beberapa alamat IP yang dipisahkan oleh koma (,).
Remove
Jika Anda memilih Remove, ALB menghapus header
X-Forwarded-Fordari permintaan sebelum meneruskan permintaan ke server backend.
Jika Anda tidak memilih
Tambahkan X-Forwarded-For untuk menyimpan alamat IP klien, ALB tidak melakukan apa pun pada headerX-Forwarded-Fordalam permintaan sebelum meneruskan permintaan ke server backend.
Format:
X-Forwarded-For: <client-ip-address>, <proxy1>, <proxy2>, …Tambahkan bidang header
SLB-IDuntuk mendapatkan ID instans SLB.Tambahkan bidang header
X-Forwarded-Protountuk mendapatkan protokol pendengar instans.Tambahkan bidang header
X-Forwarded-Portuntuk mendapatkan port pendengar instans SLB.Tambahkan bidang header
X-Forwarded-Hostuntuk mendapatkan nama domain yang digunakan oleh klien untuk mengakses instans SLB.Tambahkan bidang header
X-Forwarded-Client-srcportuntuk mendapatkan port klien yang mengakses instans SLB.Tambahkan bidang header
X-Forwarded-Clientcert-subjectdnuntuk mendapatkan informasi pemilik sertifikat klien yang digunakan untuk mengakses instans SLB.Tambahkan bidang header
X-Forwarded-Clientcert-issuerdnuntuk mendapatkan informasi penerbit sertifikat klien yang digunakan untuk mengakses instans SLB.Tambahkan bidang header
X-Forwarded-Clientcert-fingerprintuntuk mendapatkan sidik jari sertifikat klien yang digunakan untuk mengakses instans SLB.Tambahkan bidang header
X-Forwarded-Client_cert-clientverifyuntuk mendapatkan hasil verifikasi sertifikat klien yang digunakan untuk mengakses instans SLB.
CatatanQUIC Update
Pilih apakah akan mengaktifkan pemutakhiran QUIC. Jika Anda mengaktifkan pemutakhiran QUIC, pilih pendengar QUIC yang telah dibuat dari daftar drop-down Associated QUIC Listener.
Jika Anda belum membuat pendengar QUIC, klik Create Listener untuk membuatnya. Untuk informasi lebih lanjut, lihat Tambahkan pendengar QUIC.
ALB mendukung iQUIC dan gQUIC. Untuk informasi lebih lanjut, lihat Gunakan protokol QUIC untuk mempercepat akses ke layanan audio dan video.
Langkah 2: Konfigurasikan sertifikat SSL
Saat membuat pendengar HTTPS, Anda harus mengonfigurasi sertifikat SSL untuk memastikan layanan dienkripsi dan diautentikasi oleh otoritas sertifikat (CA). Tabel berikut menjelaskan sertifikat yang dapat dikonfigurasi untuk ALB.
Sertifikat | Deskripsi | Diperlukan untuk otentikasi satu arah | Diperlukan untuk otentikasi timbal balik |
Server Certificate | Memverifikasi identitas server. Browser Anda memeriksa apakah sertifikat yang dikirim oleh server dikeluarkan oleh CA tepercaya. Untuk informasi lebih lanjut, lihat Apa itu sertifikat SSL?. | Ya, itu benar. Anda dapat membeli atau mengunggah sertifikat server di Layanan Manajemen Sertifikat. ALB mengambil dan menggunakan sertifikat dari Layanan Manajemen Sertifikat. | Ya, benar. Anda dapat membeli atau mengunggah sertifikat server di Layanan Manajemen Sertifikat. ALB mengambil dan menggunakan sertifikat dari Layanan Manajemen Sertifikat. |
CA Certificate | Server menggunakan sertifikat CA untuk memverifikasi tanda tangan sertifikat klien. Jika verifikasi gagal, koneksi ditolak. Catatan Sertifikat klien digunakan untuk membuktikan identitas klien saat berkomunikasi dengan server. Sertifikat ini hanya diinstal pada klien. | Tidak. | Ya, benar. Anda dapat membeli atau mengunggah sertifikat CA di Layanan Manajemen Sertifikat. ALB mengambil dan menggunakan sertifikat dari Layanan Manajemen Sertifikat. |
Pengunggahan, pemuatan, dan verifikasi sertifikat baru memerlukan waktu. Setelah sertifikat baru diterapkan pada instans yang menggunakan HTTPS, sertifikat tersebut memerlukan waktu untuk berlaku. Periode efektif biasanya satu menit dan tidak melebihi tiga menit.
Untuk mengakses beberapa nama domain atau melampirkan beberapa sertifikat server, Anda dapat menambahkan sertifikat ekstensi ke pendengar HTTPS setelah dikonfigurasi.
Di wizard SSL Certificate, pilih sertifikat server.
Jika tidak ada sertifikat server yang tersedia, klik Create SSL Certificate dalam daftar drop-down untuk membuka konsol Layanan Manajemen Sertifikat. Di konsol tersebut, Anda dapat membeli atau mengunggah sertifikat server.
Opsional: Aktifkan Enable Mutual Authentication dan pilih sumber untuk sertifikat CA.
Atur Sumber Sertifikat CA ke Issued By Alibaba Cloud dan pilih sertifikat CA dari daftar drop-down Select Default CA Certificate.
Jika tidak ada sertifikat CA yang tersedia, klik Purchase CA Certificate dalam daftar drop-down untuk membuat sertifikat CA baru.
Atur Sumber Sertifikat CA ke Not Issued By Alibaba Cloud dan pilih sertifikat CA dari daftar drop-down Select Default CA Certificate.
Jika tidak ada sertifikat CA mandiri yang tersedia, klik Upload Self-signed CA Certificate dalam daftar drop-down. Di halaman Certificate Application Repository, buat repositori dan atur sumber datanya ke Upload CA Certificate. Kemudian, unggah sertifikat root CA mandiri atau sertifikat intermediate CA mandiri dari repositori.
CatatanHanya instans ALB Standar dan yang mendukung WAF yang mendukung otentikasi timbal balik. Instans ALB Dasar tidak mendukung.
Jika Anda mengaktifkan otentikasi timbal balik dan perlu menonaktifkannya, ikuti langkah-langkah berikut:
Di halaman Instances, klik ID instans target.
Di tab Listener, klik ID pendengar HTTPS target.
Di tab Listener Details, matikan sakelar otentikasi timbal balik di bagian SSL Certificate.
Pilih TLS Security Policy dan klik Next.
Jika tidak ada kebijakan keamanan TLS yang tersedia, klik Create TLS Security Policy dalam daftar drop-down.
Kebijakan keamanan TLS mencakup versi protokol TLS yang didukung dan paket sandi untuk HTTPS.
Langkah 3: Pilih grup server
Di wizard Server Group, pilih grup server, tinjau informasi mengenai server backend, lalu klik Next.
Langkah 4: Tinjau
Di halaman Confirm, tinjau konfigurasi, lalu klik Submit.
Membuat Pendengar HTTPS dengan Cepat
Jika Anda memilih untuk membuat pendengar dengan cepat, cukup konfigurasikan protokol pendengar, port pendengar, sertifikat server, kebijakan keamanan TLS, dan kelompok server backend.
Masuk ke Konsol Application Load Balancer (ALB).
Di bilah navigasi atas, pilih Wilayah tempat instans ALB diterapkan.
Pada halaman Instances, temukan instans target dan klik ID-nya.
Klik tab Listener, lalu pada tab Listener, klik Quick Create Listener.
Dalam kotak dialog Quick Create Listener, atur parameter berikut, lalu klik OK.
Konfigurasi Listener
Deskripsi
Select Listener Protocol
Pilih protokol pendengar. Dalam contoh ini, HTTPS dipilih.
Listener Port
Tentukan port pendengar, yaitu port antarmuka depan yang menerima permintaan dan meneruskannya ke server backend.
Anda dapat memilih port umum untuk pemilihan cepat atau memasukkan nomor port kustom. Rentang port yang valid adalah 1 hingga 65535.
Select Server Certificate
Pilih sertifikat server dari daftar drop-down.
Jika tidak ada sertifikat server yang tersedia, klik Create Certificate dalam daftar drop-down untuk membuat yang baru. Untuk informasi lebih lanjut, lihat Membeli sertifikat komersial dan Unggah sertifikat SSL.
Select Resource Group
Pilih kelompok sumber daya yang berisi kelompok server.
TLS Security Policy
Jika tidak ada kebijakan keamanan TLS yang tersedia, klik Create TLS Security Policy dalam daftar drop-down untuk membuat satu. Untuk informasi lebih lanjut, lihat Kebijakan keamanan TLS.
Server Group
Pilih tipe kelompok server dan server backend.
FAQ
Protokol TLS versi apa yang didukung oleh HTTPS?
TLS 1.0, TLS 1.1, TLS 1.2, dan TLS 1.3. Untuk informasi lebih lanjut, lihat Kebijakan keamanan TLS.
Bisakah server backend mendapatkan versi protokol dari permintaan klien ke Pendengar HTTPS?
Ya, bisa.
Apa versi protokol HTTP yang digunakan oleh Pendengar HTTPS untuk mengakses server backend?
Jika permintaan klien menggunakan HTTP/1.1 atau HTTP/2, Pendengar Lapisan 7 menggunakan HTTP/1.1 untuk mengakses server backend.
Jika permintaan klien menggunakan protokol selain HTTP/1.1 atau HTTP/2, Pendengar Lapisan 7 menggunakan HTTP/1.0 untuk mengakses server backend.
Apa aturan penggunaan Sertifikat wildcard untuk Pendengar ALB?
Saat menambahkan Pendengar HTTPS untuk instans ALB, perhatikan aturan berikut jika Anda memilih sertifikat wildcard.
Saat memilih sertifikat wildcard, ALB hanya dapat mengenali sertifikat yang berisi satu karakter wildcard (
*) dan karakter wildcard (*) harus berada di bagian paling kiri dari nama domain. Sebagai contoh, ALB dapat mengenali*.example.comdan*test.example.com, tetapi tidak dapat mengenalitest*.example.com.Aturan pencocokan nama domain wildcard:
Tingkat: Nama domain wildcard hanya dapat mencocokkan subdomain pada tingkat yang sama. Sebagai contoh,
*.example.comdapat mencocokkantest.example.com, tetapi tidak dapat mencocokkantest.test.example.comkarena subdomain tersebut berada pada tingkat yang berbeda.Dukungan IDNA:
Jika karakter wildcard adalah satu-satunya karakter di label paling kiri dari sertifikat wildcard, label IDNA dapat mencocokkan karakter wildcard. Sebagai contoh,
xn--fsqu00a.example.comdapat mencocokkan*.example.com.Jika karakter wildcard bukan satu-satunya karakter di label paling kiri dari sertifikat wildcard, label IDNA tidak dapat mencocokkan bagian label yang berisi karakter wildcard. Sebagai contoh,
xn--fsqu00atest.example.comtidak dapat mencocokkan*test.example.com.
Dukungan karakter: Karakter wildcard (
*) dalam sertifikat wildcard hanya dapat mencocokkan angka 0 hingga 9, huruf, dan tanda hubung (-). Sebagai contoh,*.example.comdapat mencocokkantest.example.com, tetapi tidak dapat mencocokkantest_test.example.com.
Berapa periode validitas Tiket sesi HTTPS?
Periode validitas Tiket sesi HTTPS adalah 300 detik.
Referensi
Tutorial
ALB menyediakan berbagai aturan pengalihan tingkat lanjut. Untuk informasi lebih lanjut, lihat Konfigurasikan aturan pengalihan pendengar.
Jika kode status abnormal dikembalikan, lihat Kode status ALB.
Jika pemeriksaan kesehatan abnormal, lihat Pemecahan masalah pengecualian pemeriksaan kesehatan ALB.
Untuk tutorial berbasis skenario lebih lanjut, lihat topik-topik berikut:
Alihkan permintaan HTTP ke pendengar HTTPS: Konfigurasikan aturan pengalihan untuk pendengar ALB guna mengarahkan permintaan HTTP ke pendengar HTTPS. Ini mengenkripsi transmisi data pada instans ALB, mencegah serangan man-in-the-middle dan kebocoran data, serta membantu Anda membangun arsitektur jaringan modern dan aman.
Konfigurasikan HTTPS end-to-end untuk mengimplementasikan komunikasi terenkripsi: ALB menyediakan enkripsi HTTPS end-to-end. Fitur ini memungkinkan komunikasi terenkripsi dari klien ke ALB dan dari ALB ke server backend, meningkatkan keamanan layanan sensitif.
Konfigurasikan beberapa situs web HTTPS untuk nama domain yang berbeda pada satu instans ALB: Untuk meneruskan permintaan HTTPS untuk nama domain yang berbeda ke server backend yang berbeda, Anda dapat menyambungkan beberapa sertifikat ke pendengar HTTPS ALB dan mengonfigurasi aturan pengalihan berbasis domain untuk mengaktifkan akses ke beberapa situs web HTTPS.
Gunakan ALB untuk menerapkan layanan HTTPS (otentikasi timbal balik): Dalam skenario yang memerlukan verifikasi keamanan tinggi, seperti keuangan dan perawatan kesehatan, Anda dapat menggunakan fitur otentikasi timbal balik HTTPS ALB untuk mengimplementasikan otentikasi identitas timbal balik antara klien dan server. Ini memastikan keamanan transfer data.