Jika aplikasi Anda memerlukan transmisi terenkripsi, Anda dapat menambahkan pendengar HTTPS untuk meneruskan permintaan HTTPS. Fitur ini mengaktifkan enkripsi lalu lintas antara instans Application Load Balancer (ALB) dan klien yang memulai sesi SSL atau TLS.
Prasyarat
Anda telah membuat instans Application Load Balancer (ALB).
Anda telah menerapkan kebijakan keamanan TLS dan setidaknya satu sertifikat server pada instans ALB.
Anda telah membuat kelompok server yang tersedia.
Prosedur
Topik ini menjelaskan dua metode untuk menambahkan pendengar HTTPS. Pilih metode yang sesuai dengan kebutuhan bisnis Anda.
Buat pendengar HTTPS: Anda dapat menyesuaikan fitur lanjutan, seperti otentikasi timbal balik.
Buat cepat pendengar HTTPS: Anda dapat dengan cepat membuat pendengar hanya dengan mengonfigurasi protokol pendengar, port pendengar, sertifikat server, kebijakan keamanan TLS, dan kelompok server.
Buat pendengar HTTPS
Langkah 1: Konfigurasikan pendengar
Masuk ke Konsol Application Load Balancer (ALB).
Di bilah navigasi atas, pilih wilayah tempat instans ditempatkan.
Gunakan salah satu metode berikut untuk membuka wizard konfigurasi pendengar:
Pada halaman Instances, temukan instans target dan klik Create Listener di kolom Actions.
Pada halaman Instances, klik ID instans target. Pada tab Listener, klik Create Listener.
Pada halaman Configure Listener, atur parameter berikut dan klik Next.
Parameter
Deskripsi
Listener Protocol
Pilih protokol untuk pendengar.
Contoh ini memilih HTTPS.
Listener Port
Tentukan port untuk menerima dan meneruskan permintaan ke server backend. Contoh ini menggunakan port 443. Port 80 biasanya digunakan untuk HTTP dan port 443 digunakan untuk HTTPS.
Range port yang valid adalah 1 hingga 65535.
CatatanPada instans ALB yang sama, port pendengar yang menggunakan protokol yang sama harus unik. Pendengar HTTP dan pendengar HTTPS harus menggunakan port yang berbeda.
Listener Name
Masukkan nama untuk pendengar.
Tag
Atur Tag Key dan Tag Value.
Setelah Anda menambahkan tag, Anda dapat memfilter pendengar berdasarkan tag pada tab Listener.
Advanced Settings
Klik Modify untuk memperluas pengaturan lanjutan.
Enable HTTP/2
Pilih apakah akan mengaktifkan HTTP/2.
Idle Connection Timeout Period
Tentukan timeout idle. Nilai yang valid: 1 hingga 600 detik. Nilai default adalah 15 detik. Untuk meminta peningkatan kuota, buka Quota Center.
Jika tidak ada permintaan yang diterima dalam periode timeout idle, load balancer akan menutup koneksi. Koneksi baru akan dibuat saat permintaan berikutnya diterima.
Connection Request Timeout
Tentukan timeout permintaan. Nilai yang valid: 1 hingga 600 detik. Nilai default adalah 60 detik. Untuk meminta peningkatan kuota, buka Quota Center.
Jika server backend tidak merespons dalam periode timeout, load balancer akan berhenti menunggu dan mengembalikan error HTTP 504 ke klien.
Compression
Retrieve Client IP
Mengaktifkan ALB untuk mengambil alamat IP sumber dari header X-Forwarded-For. Jika Anda mengaktifkan fitur ini, Anda harus mengonfigurasi daftar IP tepercaya.
Jika daftar IP tepercaya diatur ke
0.0.0.0/0, ALB mengambil alamat IP paling kiri dari header permintaan X-Forwarded-For sebagai alamat IP sumber.Jika daftar IP tepercaya diatur ke
proxy1 IP;proxy2 IP;.., ALB mengambil alamat IP pertama dari kanan ke kiri yang tidak ada dalam daftar dan menggunakannya sebagai alamat IP sumber.
Kasus Penggunaan:
Saat header permintaan X-Forwarded-For berisi beberapa alamat IP, seperti
X-Forwarded-For: <client-ip-address>, <proxy1>, <proxy2>, …, alamat paling kiri adalah alamat IP sumber klien. Jika Anda menggunakan aturan pengalihan berdasarkan pencocokan SourceIp atau fitur QPS (Per Client IP) di ALB, Anda harus mengaktifkan Retrieve Client IP. Hal ini memungkinkan ALB menemukan alamat IP sumber dari header X-Forwarded-For. Untuk informasi lebih lanjut, lihat Tambahkan aturan pengalihan.CatatanHanya instans ALB Jenis Standar dan yang diaktifkan WAF yang mendukung pengambilan alamat IP sumber. Instans ALB Basic tidak mendukung.
Add HTTP Header
Pilih bidang header HTTP kustom yang akan ditambahkan:
Pilih apakah akan mengaktifkan bidang header
X-Forwarded-Foruntuk mendapatkan alamat IP klien.Jika Anda memilih
Add X-Forwarded-For to preserve client IP addresses, ALB dapat menambahkan headerX-Forwarded-Forke atau 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 berisi header X-Forwarded-For, ALB membuat header X-Forwarded-For dengan nilai alamat IP hop terakhir dan menambahkan header tersebut 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
Add X-Forwarded-For to preserve client IP addresses, ALB tidak melakukan apa pun terhadap 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 load balancer.Tambahkan bidang header
X-Forwarded-Protountuk mendapatkan protokol pendengar instans.Tambahkan bidang header
X-Forwarded-Portuntuk mendapatkan port pendengar instans load balancer.Tambahkan bidang header
X-Forwarded-Hostuntuk mendapatkan nama domain yang digunakan klien untuk mengakses instans load balancer.Tambahkan bidang header
X-Forwarded-Client-srcportuntuk mendapatkan port klien yang mengakses instans load balancer.Tambahkan bidang header
X-Forwarded-Clientcert-subjectdnuntuk mendapatkan informasi pemilik sertifikat klien yang digunakan untuk mengakses instans load balancer.Tambahkan bidang header
X-Forwarded-Clientcert-issuerdnuntuk mendapatkan informasi penerbit sertifikat klien yang digunakan untuk mengakses instans load balancer.Tambahkan bidang header
X-Forwarded-Clientcert-fingerprintuntuk mendapatkan sidik jari sertifikat klien yang digunakan untuk mengakses instans load balancer.Tambahkan bidang header
X-Forwarded-Clientcert-clientverifyuntuk mendapatkan hasil verifikasi sertifikat klien yang digunakan untuk mengakses instans load balancer.
CatatanQUIC Update
Pilih apakah akan mengaktifkan peningkatan QUIC. Jika Anda mengaktifkan fitur ini, pilih pendengar QUIC yang sudah ada dari daftar drop-down Associated QUIC Listeners.
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 tutorialnya, lihat Gunakan protokol QUIC untuk mempercepat streaming audio dan video.
Langkah 2: Konfigurasikan sertifikat SSL
Untuk menambahkan pendengar HTTPS, Anda harus mengonfigurasi sertifikat SSL guna mengenkripsi lalu lintas dan memvalidasi identitas layanan Anda. Tabel berikut menjelaskan sertifikat yang didukung oleh ALB.
Sertifikat | Deskripsi | Otentikasi satu arah | Otentikasi timbal balik |
Sertifikat server | Membuktikan identitas server. Browser Anda memeriksa apakah sertifikat server tersebut diterbitkan oleh otoritas tepercaya. Untuk informasi selengkapnya, lihat Apa itu sertifikat SSL?. | Ya Anda dapat membeli atau mengunggah sertifikat server di Layanan Manajemen Sertifikat. ALB memperoleh dan menggunakan sertifikat tersebut dari Layanan Manajemen Sertifikat. | Ya Anda dapat membeli atau mengunggah sertifikat server di Layanan Manajemen Sertifikat. ALB memperoleh dan menggunakan sertifikat tersebut dari Layanan Manajemen Sertifikat. |
Sertifikat CA | Server menggunakan sertifikat CA untuk memverifikasi tanda tangan pada sertifikat klien. Koneksi akan ditolak jika verifikasi gagal. Catatan Saat klien berkomunikasi dengan server, sertifikat klien digunakan untuk membuktikan identitas klien. Sertifikat klien hanya perlu diinstal pada klien. | Tidak | Ya Anda dapat membeli atau mengunggah sertifikat CA di Layanan Manajemen Sertifikat. ALB memperoleh dan menggunakan sertifikat tersebut dari Layanan Manajemen Sertifikat. |
Penerapan sertifikat baru ke pendengar HTTPS dapat memerlukan waktu satu hingga tiga menit untuk berlaku karena proses pengunggahan, pemuatan, dan verifikasi.
Jika Anda perlu menangani beberapa nama domain atau mengaitkan beberapa sertifikat server, Anda dapat menambahkan sertifikat ekstensi untuk pendengar HTTPS setelah dikonfigurasi.
Pada langkah SSL Certificate, pilih sertifikat server.
Jika tidak tersedia sertifikat server, klik Create SSL Certificate dalam daftar drop-down untuk membuka Layanan Manajemen Sertifikat, tempat Anda dapat membeli atau mengunggah sertifikat server.
Opsional: Aktifkan Enable Mutual Authentication, lalu pilih sumber sertifikat CA.
Pilih Alibaba Cloud sebagai sumber sertifikat CA, lalu pilih sertifikat CA dari daftar drop-down Default CA Certificate.
Jika tidak tersedia sertifikat CA, klik Purchase CA Certificate dalam daftar drop-down untuk membuat sertifikat CA baru.
Pilih Third-party sebagai sumber sertifikat CA, lalu pilih sertifikat CA dari daftar drop-down Default CA Certificate.
Jika tidak tersedia sertifikat CA yang ditandatangani sendiri, klik Upload Self-signed CA Certificate dalam daftar drop-down. Pada halaman Certificate Application Repository, buat repositori dengan Uploaded CA Certificates sebagai sumber data. Lalu, unggah sertifikat CA root yang ditandatangani sendiri atau sertifikat CA perantara yang ditandatangani sendiri ke repositori tersebut.
CatatanHanya instans ALB Jenis Standar dan yang diaktifkan WAF yang mendukung otentikasi timbal balik. Instans ALB Basic tidak mendukung.
Setelah Anda mengaktifkan otentikasi timbal balik, jika perlu menonaktifkannya nanti, ikuti langkah-langkah berikut:
Pada halaman Instances, klik ID instans target.
Pada tab Listener, klik ID pendengar HTTPS target.
Pada tab Listener Details, matikan sakelar otentikasi timbal balik di bagian SSL Certificate.
Pilih TLS Security Policy dan klik Next.
Jika tidak tersedia kebijakan keamanan TLS, klik Create TLS Security Policy dalam daftar drop-down.
Kebijakan keamanan TLS mencakup versi protokol TLS dan paket sandi yang didukung untuk HTTPS.
Langkah 3: Pilih kelompok server
Pada langkah Server Group dalam wizard, pilih kelompok server, tinjau informasi server backend, lalu klik Next.
Langkah 4: Tinjau konfigurasi
Pada halaman Confirm, tinjau konfigurasi dan klik Submit.
Buat cepat pendengar HTTPS
Jika menggunakan metode pembuatan cepat, Anda hanya perlu mengonfigurasi protokol pendengar, port pendengar, sertifikat server, kebijakan keamanan TLS, dan kelompok server.
Masuk ke Konsol Application Load Balancer (ALB).
Di bilah navigasi atas, pilih wilayah tempat instans ALB ditempatkan.
Pada halaman Instances, temukan instans target dan klik ID-nya.
Klik tab Listener, lalu pada tab Listener, klik Quick Create Listener.
Pada kotak dialog Quick Create Listener, konfigurasikan parameter berikut dan klik OK.
Parameter
Deskripsi
Listener Protocol
Pilih protokol pendengar. Contoh ini menggunakan HTTPS.
Listener Port
Atur port frontend yang digunakan untuk menerima permintaan dan meneruskannya ke server backend.
Anda dapat mengklik port pendengar umum untuk mengisi nilai dengan cepat atau memasukkan nomor port secara manual. Rentang port yang valid adalah 1 hingga 65535.
Server Certificate
Pilih sertifikat server dari daftar drop-down.
Jika tidak tersedia sertifikat server, klik Create Certificate dalam daftar drop-down untuk membuat sertifikat baru. Untuk informasi lebih lanjut, lihat Beli sertifikat SSL dan Unggah sertifikat SSL.
Resource Group
Pilih kelompok sumber daya tempat kelompok server berada.
TLS Security Policy
Jika tidak tersedia kebijakan keamanan TLS, klik Create TLS Security Policy dalam daftar drop-down. Untuk informasi lebih lanjut, lihat Kebijakan keamanan TLS.
Server Group
Pilih jenis kelompok server dan server backend.
FAQ
Bagaimana cara saya mencegah pemalsuan header X-Forwarded-For?
Pendengar mendukung TLS 1.0, TLS 1.1, TLS 1.2, dan TLS 1.3. Untuk informasi lebih lanjut, lihat Kebijakan keamanan TLS.
Mengambil versi protokol klien
Ya.
Versi HTTP untuk akses backend
Jika permintaan klien menggunakan HTTP 1.1 atau HTTP 2.0, pendengar Lapisan 7 menggunakan HTTP 1.1 untuk mengakses server backend.
Jika permintaan klien menggunakan protokol selain HTTP 1.1 atau HTTP 2.0, pendengar Lapisan 7 menggunakan HTTP 1.0 untuk mengakses server backend.
Aturan sertifikat wildcard
Saat Anda menambahkan pendengar HTTPS untuk instans ALB, jika sertifikat yang dipilih adalah sertifikat wildcard, perhatikan aturan berikut.
Saat Anda memilih sertifikat wildcard, ALB hanya dapat mengenali sertifikat yang berisi satu karakter wildcard (
*) dan menempatkan karakter wildcard (*) di posisi paling kiri nama domain. Misalnya, ALB dapat mengenali*.example.comdan*test.example.com, tetapi tidak dapat mengenalitest*.example.com.Aturan pencocokan nama domain wildcard:
Tingkat nama domain wildcard: Nama domain wildcard dapat mencocokkan nama domain tertentu yang berada pada tingkat yang sama dengan nama domain wildcard. Misalnya,
*.example.comdapat mencocokkantest.example.comtetapi tidak dapat mencocokkantest.test.example.com, yang berada satu tingkat lebih rendah daripada nama domain wildcard.Dukungan IDNA:
Jika karakter wildcard adalah satu-satunya karakter dalam label paling kiri sertifikat wildcard, label IDNA dapat mencocokkan wildcard tersebut. Misalnya,
xn--fsqu00a.example.comcocok dengan*.example.com.Jika karakter wildcard dalam sertifikat wildcard bukan satu-satunya karakter dalam label paling kiri, label IDNA tidak dapat mencocokkan bagian wildcard tersebut. Misalnya,
xn--fsqu00atest.example.comtidak dapat mencocokkan*test.example.com.
Cakupan pencocokan: Karakter wildcard (
*) hanya mencocokkan angka 0 hingga 9, huruf besar dan kecil, serta tanda hubung (-). Misalnya,*.example.comdapat mencocokkantest.example.comtetapi tidak dapat mencocokkantest_test.example.com.
Berapa TTL tiket sesi HTTPS?
300 detik.
Bagaimana cara mencegah spoofing header X-Forwarded-For?
Tentukan bidang header dari produk upstream lain untuk mencatat IP klien asli:
Misalnya, dalam arsitektur Client -> CDN -> WAF -> SLB > ECS: CDN meneruskan IP asli klien dalam header HTTP
Ali-Cdn-Real-Ip. Saat mengonfigurasi WAF, atur metode deteksi IP klien ke "Specify Header Field" dan gunakanAli-Cdn-Real-Ip. Selanjutnya, pada server Nginx backend, konfigurasikan variabel log untuk IP klien asli menjadi$http_Ali_Cdn_Real_Ip.Beralih ke pendengar lapisan 4 (NLB atau CLB): Saat menggunakan pendengar lapisan 4, server backend dapat secara otomatis memperoleh IP klien asli. Untuk detailnya, lihat Aktifkan pendengar Lapisan 4 untuk mempertahankan alamat IP klien dan meneruskannya ke server backend.
Dukungan WSS
Secara default, pendengar HTTPS ALB mendukung protokol WebSocket Secure (WSS). Untuk tutorialnya, lihat Gunakan WebSocket untuk mengaktifkan pesan real-time.
Referensi
Tutorial produk
ALB mendukung berbagai aturan pengalihan lanjutan. Untuk informasi lebih lanjut, lihat Konfigurasikan aturan pengalihan pendengar.
Jika Anda menemui kode status abnormal, lihat Kode status error ALB.
Jika Anda mengalami masalah pemeriksaan kesehatan, lihat Pemecahan masalah pemeriksaan kesehatan ALB.
Untuk tutorial kasus penggunaan lainnya, lihat topik berikut:
Alihkan permintaan HTTP ke pendengar HTTPS: Anda dapat menggunakan aturan pengalihan ALB untuk mengalihkan permintaan HTTP ke pendengar HTTPS. Hal ini mengenkripsi data saat transit, mencegah serangan man-in-the-middle dan kebocoran data, serta membantu Anda membangun arsitektur jaringan modern dan aman.
Konfigurasikan akses HTTPS end-to-end untuk komunikasi terenkripsi: ALB menyediakan enkripsi HTTPS end-to-end, yang mengamankan komunikasi dari klien ke ALB dan dari ALB ke server backend, meningkatkan keamanan untuk layanan sensitif.
Konfigurasikan satu instans ALB untuk beberapa situs web HTTPS: Saat Anda perlu meneruskan permintaan HTTPS untuk domain berbeda ke server backend berbeda, Anda dapat mengikat beberapa sertifikat ke pendengar HTTPS ALB dan mengonfigurasi aturan pengalihan berbasis domain untuk menangani akses ke beberapa situs web HTTPS.
Terapkan layanan HTTPS dengan ALB (otentikasi timbal balik): Untuk skenario yang memerlukan verifikasi keamanan tinggi, seperti keuangan dan kesehatan, fitur otentikasi timbal balik ALB menyediakan verifikasi identitas untuk klien dan server, memastikan transfer data yang aman.