全部产品
Search
文档中心

Server Load Balancer:Tambahkan pendengar HTTPS

更新时间:Feb 05, 2026

Jika Anda ingin mengenkripsi transmisi data untuk aplikasi, buat pendengar HTTPS untuk meneruskan permintaan HTTPS. Pendengar HTTPS mendukung transmisi data terenkripsi antara Application Load Balancer (ALB) dan klien yang telah mengaktifkan SSL atau TLS.

Prasyarat

Prosedur

Topik ini menjelaskan dua prosedur untuk membuat pendengar HTTPS. Pilih metode sesuai kebutuhan Anda.

  • Pembuatan manual: Anda dapat membuat pendengar HTTPS dan mengonfigurasi fitur lanjutan, seperti otentikasi timbal balik.

  • Pembuatan cepat: Anda dapat menggunakan templat untuk membuat pendengar HTTPS secara cepat dengan menentukan protokol pendengar, port pendengar, sertifikat server, dan kelompok server backend.

Pembuatan manual

Langkah 1: Buat pendengar

  1. Masuk ke Konsol ALB.

  2. Di bilah navigasi atas, pilih wilayah tempat instans ALB berada.

  3. Gunakan salah satu metode berikut untuk membuka wizard konfigurasi pendengar:

    • Di halaman Instances, temukan instans ALB yang ingin Anda kelola lalu klik Create Listener di kolom Actions.

    • Di halaman Instances, klik ID instans ALB yang ingin Anda kelola. Di tab Listener, klik Create Listener.

  4. Di halaman wizard Configure Listener, atur parameter berikut lalu klik Next.

    Parameter

    Deskripsi

    Listener Protocol

    Pilih protokol pendengar.

    Dalam contoh ini, HTTPS dipilih.

    Listener Port

    Masukkan port tempat instans ALB mendengarkan. Instans ALB mendengarkan pada port tersebut dan meneruskan permintaan ke server backend. Dalam contoh ini, digunakan port 443. Umumnya, port 80 digunakan untuk HTTP dan port 443 digunakan untuk HTTPS.

    Nilai valid: 1 hingga 65535.

    Catatan

    Pada instans ALB yang sama, port pendengar yang menggunakan protokol yang sama harus unik. Pendengar HTTP dan HTTPS harus menggunakan port yang berbeda.

    Listener Name

    Masukkan nama untuk pendengar.

    Tag

    Konfigurasikan parameter Tag Key dan Tag Value untuk menambahkan tag. Anda dapat menambahkan satu atau beberapa tag.

    Setelah menentukan tag, Anda dapat menyaring pendengar berdasarkan tag di tab Listener.

    Advanced Settings

    Anda dapat mengklik Modify untuk mengonfigurasi pengaturan lanjutan.

    Enable HTTP/2

    Tentukan apakah akan mengaktifkan HTTP/2 untuk pendengar.

    Idle Connection Timeout Period

    Tentukan periode timeout untuk koneksi idle. Satuan: detik. Nilai valid: 1 hingga 600. Nilai default: 15. Untuk menentukan periode timeout yang lebih lama, buka konsol Quota Center.

    Jika tidak ada permintaan yang diterima dalam periode timeout yang ditentukan, CLB akan menutup koneksi. Saat permintaan diterima, CLB akan membuat koneksi baru.

    Catatan

    Fitur ini tidak tersedia untuk permintaan HTTP/2.

    Connection Request Timeout

    Tentukan periode timeout permintaan. Satuan: detik. Nilai valid: 1 hingga 600. Nilai default: 60. Untuk menentukan periode timeout yang lebih lama, buka konsol Quota Center.

    Jika tidak ada respons yang diterima dari server backend dalam periode timeout permintaan, ALB akan mengembalikan kode kesalahan HTTP 504 ke klien.

    Compression

    Jika Anda mengaktifkan kompresi, jenis file tertentu akan dikompresi. Jika Anda menonaktifkan kompresi, tidak ada file yang dikompresi.

    • 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, dan application/json.

    Catatan
    • Hanya ketika nilai Content-Length melebihi 1.024 byte, kompresi data akan dipicu.

    • Jika permintaan klien mengizinkan kompresi Brotli dan GZIP, ALB akan menggunakan kompresi Brotli.

    • Jika permintaan klien hanya mengizinkan kompresi GZIP, dan setidaknya satu file dalam format yang tidak didukung oleh GZIP, ALB tidak akan mengompresi file apa pun.

    Retrieve Client IP

    Tentukan apakah akan mengaktifkan instans ALB untuk mengambil alamat IP klien dari header X-Forwarded-For. Jika Anda mengaktifkan fitur ini, Anda harus menentukan alamat IP tepercaya.

    • Jika Anda mengatur daftar alamat IP tepercaya menjadi 0.0.0.0/0, instans ALB akan mengambil alamat IP paling kiri dalam header X-Forwarded-For. Alamat IP tersebut adalah alamat IP klien sumber.

    • Jika Anda mengatur daftar alamat IP tepercaya dalam format proxy1 IP;proxy2 IP;.., instans ALB akan membandingkan alamat IP dalam header X-Forwarded-For dari kanan ke kiri terhadap daftar alamat IP tepercaya. Alamat IP pertama yang tidak ada dalam daftar alamat IP tepercaya dianggap sebagai alamat IP klien sumber.

    Catatan penggunaan

    Jika header X-Forwarded-For berisi beberapa alamat IP, seperti X-Forwarded-For: <client-ip-address>, <proxy1>, <proxy2>, …, alamat IP paling kiri adalah alamat IP klien sumber. Jika Anda ingin mengaktifkan fitur matching based on source IP addresses dan throttling based on QPS per client IP address dalam aturan pengalihan ALB, Anda harus mengaktifkan sakelar Retrieve Client IP agar instans ALB dapat mengambil alamat IP klien sumber dari header X-Forwarded-For. Untuk informasi selengkapnya, lihat Buat aturan pengalihan.

    Catatan

    Retrieve Client IP hanya didukung oleh instans ALB standar dan instans ALB yang diaktifkan WAF, tetapi tidak didukung oleh instans ALB dasar.

    Add HTTP Header

    Pilih header HTTP yang ingin Anda tambahkan.

    • Pilih apakah akan menggunakan header X-Forwarded-For untuk mempertahankan alamat IP sumber.

      • Jika Anda memilih Add X-Forwarded-For to preserve client IP addresses, ALB dapat menambahkan header X-Forwarded-For atau menghapus header X-Forwarded-For dari permintaan sebelum meneruskannya ke server backend.

        • Add (default)

          Jika Anda memilih Add, ALB akan menambahkan alamat IP hop terakhir ke header X-Forwarded-For dalam permintaan sebelum meneruskannya ke server backend. Jika permintaan tidak berisi header X-Forwarded-For, ALB akan membuat header X-Forwarded-For dengan nilai alamat IP hop terakhir dan menambahkannya ke permintaan. Header X-Forwarded-For dalam permintaan mungkin berisi beberapa alamat IP yang dipisahkan koma (,).

        • Remove

          Jika Anda memilih Remove, ALB akan menghapus header X-Forwarded-For dari permintaan sebelum meneruskannya ke server backend.

      • Jika Anda tidak memilih Add X-Forwarded-For to preserve client IP addresses, ALB tidak akan melakukan apa pun terhadap header X-Forwarded-For dalam permintaan sebelum meneruskannya ke server backend.

      Format:

      X-Forwarded-For: <client-ip-address>, <proxy1>, <proxy2>, …

      Klik untuk melihat contoh header X-Forwarded-For dalam permintaan yang diterima oleh server backend.

      Dalam contoh ini, alamat IP hop terakhir adalah 127.0.0.1.

      Deskripsi permintaan

      Contoh permintaan

      Pilih Add X-Forwarded-For to preserve client IP addresses

      Tidak memilih Add X-Forwarded-For to preserve client IP addresses

      Add

      Remove

      Permintaan yang diterima oleh ALB tidak berisi header X-Forwarded-For.

      GET /index.html HTTP/1.1

      Host: example.com

      X-Forwarded-For: 127.0.0.1

      Header X-Forwarded-For tidak ada.

      Header X-Forwarded-For tidak ada.

      Permintaan yang diterima oleh ALB berisi header X-Forwarded-For dan alamat IP klien.

      GET /index.html HTTP/1.1

      Host: example.com

      X-Forwarded-For: 127.0.0.2

      X-Forwarded-For: 127.0.0.2, 127.0.0.1

      Header X-Forwarded-For tidak ada.

      X-Forwarded-For: 127.0.0.2

      Permintaan yang diterima oleh ALB berisi header X-Forwarded-For dan beberapa alamat IP klien.

      GET /index.html HTTP/1.1

      Host: example.com

      X-Forwarded-For: 127.0.0.2, 127.0.0.3

      X-Forwarded-For: 127.0.0.2, 127.0.0.3, 127.0.0.1

      Header X-Forwarded-For tidak ada.

      X-Forwarded-For: 127.0.0.2, 127.0.0.3

      Untuk informasi selengkapnya tentang cara mengaktifkan ALB agar mempertahankan alamat IP klien, lihat Dapatkan alamat IP asal klien di server backend melalui Application Load Balancer.

      • Add SLB-ID to preserve SLB instance IDs: Tambahkan header SLB-ID untuk menyimpan ID instans ALB.

      • Add X-Forwarded-Proto to preserve listener protocols: Tambahkan header X-Forwarded-Proto untuk menyimpan protokol pendengar.

      • Add X-Forwarded-Port to preserve SLB listener ports: Tambahkan header X-Forwarded-Port untuk menyimpan port pendengar.

      • Add X-Forwarded-Host to preserve client domain names: Tambahkan header X-Forwarded-Host untuk menyimpan nama domain klien.

      • Add X-Forwarded-Client-srcport to preserve client ports: Tambahkan header X-Forwarded-Client-srcport untuk menyimpan port klien.

      • Add X-Forwarded-Clientcert-subjectdn to preserve owner information about client certificates: Tambahkan header X-Forwarded-Clientcert-subjectdn untuk menyimpan informasi pemilik sertifikat klien.

      • Add X-Forwarded-Clientcert-issuerdn to preserve information about client certificate issuers: Tambahkan header X-Forwarded-Clientcert-issuerdn untuk menyimpan informasi otoritas penerbit sertifikat klien.

      • Add X-Forwarded-Clientcert-fingerprint to preserve client certificate fingerprints: Tambahkan header X-Forwarded-Clientcert-fingerprint untuk menyimpan sidik jari sertifikat klien.

      • Add X-Forwarded-Clientcert-clientverify to preserve client certificate verification results: Tambahkan header X-Forwarded-Clientcert-clientverify untuk menyimpan hasil verifikasi sertifikat klien.

    Catatan
    • Kami menyarankan agar Anda mengonfigurasi server backend Anda untuk mengikuti standar HTTP – tidak membedakan huruf besar/kecil saat memproses header permintaan.

      • Header X-Forwarded-For yang dibuat dan ditambahkan ke permintaan oleh ALB selalu diawali dengan huruf "X" kapital.

      • Kecuali untuk X-Forwarded-For, untuk header yang disebutkan di atas, ALB memprosesnya mengikuti aturan yang dijelaskan di atas. Untuk header lainnya, ALB mempertahankannya dalam bentuk aslinya dalam permintaan.

    • Anda tidak dapat menentukan kunci header kustom berikut: X-Forwarded-Clientcert-subjectdn, X-Forwarded-Clientcert-issuerdn, X-Forwarded-Clientcert-fingerprint, dan X-Forwarded-Clientcert-clientverify sebagai berikut:

      slb-id, slb-ip, x-forwarded-for, x-forwarded-proto, x-forwarded-eip, x-forwarded-port, x-forwarded-client-srcport, x-forwarded-host, connection, upgrade, content-length, transfer-encoding, keep-alive, te, host, cookie, remoteip, dan authority

    QUIC Update

    Tentukan apakah akan mengaktifkan peningkatan Quick UDP Internet Connections (QUIC). Untuk menggunakan fitur ini, Anda harus memilih pendengar QUIC dari daftar drop-down Associated QUIC Listeners.

Langkah 2: Tambahkan sertifikat SSL

Untuk membuat pendengar HTTPS, Anda harus mengonfigurasi sertifikat SSL untuk otentikasi identitas guna mengamankan transmisi data. Tabel berikut menjelaskan sertifikat yang didukung oleh ALB.

Sertifikat

Deskripsi

Diperlukan untuk otentikasi satu arah

Diperlukan untuk otentikasi timbal balik

Server certificate

Sertifikat server digunakan untuk mengotentikasi identitas server.

Browser klien memverifikasi apakah sertifikat yang dikirim oleh server ditandatangani dan dikeluarkan oleh Otoritas Sertifikat (CA) tepercaya. Untuk informasi selengkapnya, lihat Apa itu Sertifikat SSL?

Ya

Anda dapat membeli atau mengunggah sertifikat server di konsol Layanan Manajemen Sertifikat. ALB mengambil sertifikat tersebut dari Layanan Manajemen Sertifikat dan menggunakannya.

Ya

Anda dapat membeli atau mengunggah sertifikat server di konsol Layanan Manajemen Sertifikat. ALB mengambil sertifikat tersebut dari Layanan Manajemen Sertifikat dan menggunakannya.

CA certificate

Sertifikat CA digunakan oleh server untuk memverifikasi tanda tangan pada sertifikat klien. Jika tanda tangan tidak valid, permintaan koneksi akan ditolak.

Catatan

Sertifikat klien digunakan untuk mengotentikasi identitas klien saat berkomunikasi dengan server. Anda hanya perlu menginstal sertifikat klien di sisi klien.

Tidak

Ya.

Anda dapat membeli atau mengunggah sertifikat CA di konsol Layanan Manajemen Sertifikat. ALB mengambil sertifikat tersebut dari Layanan Manajemen Sertifikat dan menggunakannya.

Catatan
  • Proses unggah, pemuatan, dan verifikasi sertifikat baru mungkin memerlukan beberapa menit. Oleh karena itu, pendengar HTTPS tidak tersedia segera setelah dibuat. Diperlukan waktu sekitar 1 hingga 3 menit untuk mengaktifkan pendengar HTTPS.

  • Jika Anda ingin mengakses beberapa nama domain atau menambahkan beberapa sertifikat server, Anda dapat menambahkan sertifikat tambahan untuk pendengar HTTPS.

  1. Pada langkah Configure SSL Certificate, pilih sertifikat server.

    Jika tidak tersedia sertifikat server, klik Create SSL Certificate di daftar drop-down untuk membuka konsol Layanan Manajemen Sertifikat. Kemudian, Anda dapat membeli atau mengunggah sertifikat server.

  2. (Opsional) Aktifkan Enable Mutual Authentication dan pilih sumber sertifikat.

    • Pilih Alibaba Cloud sebagai sumber sertifikat CA, lalu pilih sertifikat CA dari daftar drop-down Default CA Certificate.

      Jika tidak tersedia sertifikat CA, Anda dapat mengklik Purchase CA Certificate untuk membuatnya.

    • Atau, 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 di daftar drop-down. Di halaman Certificate Application Repository, buat repositori dengan Uploaded CA Certificates sebagai Data Source. Kemudian, unggah sertifikat CA root atau CA perantara yang ditandatangani sendiri ke repositori tersebut.

Catatan
  • Hanya instans ALB standar dan instans ALB yang diaktifkan WAF yang mendukung otentikasi timbal balik. Instans ALB dasar tidak mendukung otentikasi timbal balik.

  • Jika Anda ingin menonaktifkan otentikasi timbal balik setelah mengaktifkan fitur ini, lakukan langkah-langkah berikut:

    1. Di halaman Instances, klik ID instans ALB yang ingin Anda kelola.

    2. Di tab Listener, klik ID pendengar HTTPS yang ingin Anda kelola.

    3. Di tab Listener Details, nonaktifkan otentikasi timbal balik di bagian SSL Certificate.

  1. Pilih TLS security policy lalu klik Next.

    Jika tidak tersedia kebijakan keamanan TLS, klik Create TLS Security Policy untuk membuatnya.

    Kebijakan keamanan TLS berisi versi protokol TLS dan paket sandi yang tersedia untuk pendengar HTTPS.

Langkah 3: Pilih kelompok server

Pada langkah Server Group, pilih kelompok server, lihat server backend, lalu klik Next.

Langkah 4: Tinjau konfigurasi

Pada langkah Confirm, konfirmasi konfigurasi lalu klik Submit.

Pembuatan cepat

Jika Anda memilih metode ini, Anda hanya perlu menentukan protokol pendengar, port pendengar, sertifikat server, kebijakan keamanan TLS, dan kelompok server.

  1. Masuk ke Konsol ALB.

  2. Di bilah navigasi atas, pilih wilayah tempat instans ALB berada.

  3. Di halaman Instances, temukan instans ALB yang ingin Anda kelola lalu klik ID-nya.

  4. Klik tab Listener. Di tab Listener, klik Quick Create Listener.

  5. Di kotak dialog Quick Create Listener, konfigurasikan parameter berikut lalu klik OK.

    Parameter

    Deskripsi

    Listener Protocol

    Pilih protokol listener. Dalam contoh ini, HTTPS dipilih.

    Listener Port

    Port frontend yang digunakan untuk menerima dan meneruskan permintaan ke server backend.

    Anda dapat memilih port umum atau memasukkan nomor port secara manual. Nilai valid: 1 hingga 65535.

    Server Certificate

    Pilih sertifikat server dari daftar drop-down.

    Jika tidak tersedia sertifikat server, klik Create SSL Certificate untuk membuatnya. Untuk informasi selengkapnya, lihat Beli sertifikat SSL dan Unggah sertifikat SSL.

    Resource Group

    Pilih kelompok resource untuk kelompok server.

    TLS Security Policy

    Jika tidak tersedia kebijakan keamanan TLS, klik Create TLS Security Policy untuk membuatnya. Untuk informasi selengkapnya, lihat Kebijakan keamanan TLS.

    Server Group

    Atur tipe kelompok server dan server backend dalam kelompok server tersebut.

FAQ

Bagaimana cara saya mencegah pemalsuan header X-Forwarded-For?

Pendengar HTTPS mendukung TLS 1.0, 1.1, 1.2, dan 1.3. Untuk informasi selengkapnya, lihat Kebijakan keamanan TLS.

Apakah server backend dapat mengambil versi TLS yang digunakan oleh pendengar HTTPS terkait?

Ya, server backend dapat mengambil versi TLS yang digunakan oleh pendengar HTTPS terkait.

Versi HTTP apa yang digunakan oleh pendengar HTTPS untuk mendistribusikan traffic jaringan ke server backend?

  • Jika permintaan klien menggunakan HTTP/1.1 atau HTTP/2, pendengar Lapisan 7 menggunakan HTTP/1.1 untuk mendistribusikan traffic jaringan ke server backend.

  • Jika permintaan klien menggunakan protokol selain HTTP/1.1 dan HTTP/2, pendengar Lapisan 7 menggunakan HTTP/1.0 untuk mendistribusikan traffic jaringan ke server backend.

Persyaratan apa yang harus dipenuhi oleh sertifikat wildcard pendengar?

Saat Anda menambahkan pendengar HTTPS ke instans ALB, perhatikan aturan berikut jika Anda memilih sertifikat wildcard.

  • Saat Anda memilih sertifikat wildcard, ALB hanya mengenali sertifikat wildcard yang berisi satu karakter wildcard *. Karakter wildcard * harus berada di awal nama domain. Misalnya, ALB dapat mengenali *.example.com dan *test.example.com, tetapi tidak dapat mengenali test*.example.com.

  • Aturan pencocokan nama domain wildcard:

    • Tingkat wildcard: Nama domain wildcard hanya cocok dengan subdomain pada tingkat yang sama. Misalnya, *.example.com dapat mencocokkan test.example.com, tetapi tidak dapat mencocokkan test.test.example.com karena subdomain tersebut tidak berada pada tingkat yang sama dengan nama domain wildcard.

    • Dukungan IDNA:

      • Jika karakter wildcard adalah satu-satunya karakter dalam label paling kiri sertifikat wildcard, label Internationalized Domain Name in Applications (IDNA) dapat mencocokkan karakter wildcard tersebut. Misalnya, xn--fsqu00a.example.com dapat mencocokkan *.example.com.

      • Jika karakter wildcard bukan satu-satunya karakter dalam label paling kiri sertifikat wildcard, label IDNA tidak dapat mencocokkan bagian tersebut dari wildcard. Misalnya, xn--fsqu00atest.example.com tidak dapat mencocokkan *test.example.com.

    • Dukungan karakter: Karakter wildcard * dalam sertifikat wildcard hanya cocok dengan angka (0–9), huruf besar dan kecil, serta tanda hubung (-). Misalnya, *.example.com dapat mencocokkan test.example.com, tetapi tidak dapat mencocokkan test_test.example.com.

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 gunakan Ali-Cdn-Real-Ip. Selanjutnya, di 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 mendapatkan IP klien asli. Untuk detailnya, lihat Aktifkan pendengar Lapisan 4 untuk mempertahankan alamat IP klien dan meneruskannya ke server backend.

Apakah ALB mendukung protokol WebSocket Secure?

Secara default, pendengar HTTPS ALB mendukung WebSocket Secure. Untuk tutorialnya, lihat Gunakan WebSocket untuk mengaktifkan pesan real-time.

Referensi

Pelajari lebih lanjut

API