All Products
Search
Document Center

Server Load Balancer:TCP SSL offloading dan otentikasi timbal balik pada NLB

Last Updated:Apr 25, 2026

Network Load Balancer (NLB) mendukung SSL offloading skala besar. Anda dapat men-deploy instans NLB di ingress dan mengonfigurasi Sertifikat SSL serta sertifikat CA untuk mengaktifkan otentikasi timbal balik. Proses ini mengotentikasi kedua pihak dalam koneksi, sehingga memberikan keamanan yang lebih tinggi bagi beban kerja Anda.

Latar Belakang

  • Otentikasi satu arah: Klien mengotentikasi server, tetapi server tidak mengotentikasi klien. Klien meminta dan memvalidasi sertifikat kunci publik server untuk membuat saluran komunikasi yang aman.

  • Otentikasi timbal balik: Klien dan server saling mengotentikasi. Klien memvalidasi sertifikat kunci publik server, dan server memvalidasi sertifikat klien. Saluran komunikasi yang aman hanya dibuat setelah kedua proses otentikasi berhasil. Oleh karena itu, otentikasi timbal balik memberikan keamanan yang lebih kuat bagi layanan Anda.

Prasyarat

  • Instans NLB telah dibuat. Untuk informasi selengkapnya, lihat Buat dan kelola instans NLB.

  • Anda telah membuat tiga instans ECS. Untuk informasi selengkapnya, lihat Buat instans menggunakan wizard.

    • ECS01 dan ECS02 berfungsi sebagai server backend untuk instans NLB, masing-masing menjalankan layanan aplikasi yang berbeda.

      Perintah untuk men-deploy layanan pada ECS01

      yum install -y nginx
      systemctl start nginx.service
      cd /usr/share/nginx/html/
      echo "Hello World ! This is ECS01." > index.html
      

      Perintah untuk men-deploy layanan pada ECS02

      yum install -y nginx
      systemctl start nginx.service
      cd /usr/share/nginx/html/
      echo "Hello World ! This is ECS02." > index.html
      
    • Gunakan ECS03 untuk menghasilkan sertifikat server dan klien tanda tangan sendiri. Tool OpenSSL (versi 1.1.1 atau lebih baru) harus diunduh dari situs resmi OpenSSL dan diinstal pada ECS03. Anda juga dapat menggunakan server Linux yang sudah ada untuk membuat sertifikat tanda tangan sendiri. Dalam kasus ini, Anda tidak perlu membuat instans ECS03.

  • Anda telah membuat grup server untuk instans NLB dan menambahkan ECS01 serta ECS02 ke dalamnya. Pada contoh ini, port backend untuk kedua instans ECS01 dan ECS02 diatur ke 80.

    Penting

    Protokol backend untuk grup server harus TCP. NLB mendekripsi traffic sebelum mengirimkannya ke server backend. Server backend tidak perlu melakukan dekripsi SSL.

    Pendengar yang menggunakan SSL over TCP tidak dapat dikaitkan dengan grup server yang memiliki fitur Client IP Preservation diaktifkan. Pastikan fitur ini dinonaktifkan untuk grup server tersebut.

Langkah 1: Siapkan sertifikat CA

  1. Login ke Konsol Certificate Management Service.

  2. Di panel navigasi sebelah kiri, klik Private Certificate Management.

  3. Di halaman Private Certificate Management, klik tab Private CAs, lalu temukan sertifikat root CA target.

  4. Klik ikon icon di samping sertifikat root CA target, temukan CA perantara privat target, lalu klik Apply for Certificate di kolom Actions.

  5. Di panel Apply for Certificate, atur parameter berikut lalu klik Confirm.

    Hanya parameter yang sangat relevan dengan topik ini yang tercantum di sini. Untuk informasi selengkapnya tentang pengajuan sertifikat, lihat Kelola sertifikat privat.

    Parameter

    Deskripsi

    Certificate Type

    Pilih jenis sertifikat privat. Pada contoh ini, pilih Client Certificate.

    Personal Name

    Parameter ini hanya diperlukan untuk sertifikat klien. Parameter ini berfungsi sebagai pengenal unik untuk pengguna klien.

    Pada contoh ini, masukkan nama domain dari instans NLB yang telah dibuat.

    Validity Period

    Periode validitas sertifikat privat. Periode ini tidak boleh melebihi durasi langganan Private CA Anda.

    Pada contoh ini, digunakan nilai default 30 hari.

    Setelah Anda mengirimkan permohonan sertifikat, sertifikat tersebut akan langsung diterbitkan. Anda kemudian dapat menemukan CA privat target, klik Certificates di kolom Actions, lalu lihat sertifikat yang diterbitkan di halaman Certificates.

Langkah 2: Siapkan sertifikat server

Browser memverifikasi identitas server dengan memeriksa apakah sertifikatnya diterbitkan oleh CA tepercaya. Topik ini menjelaskan dua metode untuk mendapatkan sertifikat server. Anda dapat membeli sertifikat server dari Certificate Management Service, atau mengunggah sertifikat server tanda tangan sendiri ke Certificate Management Service.

Sertifikat yang dibeli

Anda dapat membeli sertifikat server dari Konsol Certificate Management Service atau dari penyedia layanan lainnya. Untuk informasi selengkapnya, lihat Beli Sertifikat SSL.

Sertifikat tanda tangan sendiri

  1. Login ke instans ECS03 dan jalankan perintah berikut untuk menghasilkan sertifikat server tanda tangan sendiri. Pastikan file sertifikat CA, root.crt dan root.key, tersedia di instans ECS03.

    1. Jalankan perintah berikut untuk menghasilkan kunci privat untuk sertifikat server:

      sudo openssl genrsa -out server.key 4096
    2. Jalankan perintah berikut untuk menghasilkan permintaan penandatanganan sertifikat (CSR):

      sudo openssl req -new -out server.csr -key server.key

      Masukkan informasi yang diminta saat diminta. Berikut adalah contohnya:

      Country Name (2 letter code) [XX]:cn
      State or Province Name (full name) []:bj
      Locality Name (eg, city) [Default City]:bj
      Organization Name (eg, company) [Default Company Ltd]:alibaba
      Organizational Unit Name (eg, section) []:test
      Common Name (eg, your name or your servers hostname) []:www.example.com
      Email Address []:a.alibaba.com
      A challenge password []:
      An optional company name []:
      Penting

      Saat menghasilkan sertifikat server, atur Common Name ke nama domain untuk sertifikat tersebut. Pastikan nama domain tersebut valid. Nilai parameter lainnya harus sesuai dengan yang Anda tentukan untuk sertifikat root dan klien.

      Pada topik ini, instans NLB menyediakan layanan ke internet menggunakan nama domain kustomwww.example.com. Common Name-nya adalah nama domain kustomwww.example.com.

    3. Jalankan perintah berikut untuk menghasilkan sertifikat server:

      sudo openssl x509 -req -in server.csr -out server.crt -signkey server.key -CA root.crt -CAkey root.key -CAcreateserial -days 3650

      Output:

      Signature ok
      subject=/C=cn/ST=bj/L=bj/O=alibaba/OU=test/CN=www.example.com/emailAddress=a.alibaba.com
      Getting Private key
      Getting CA Private Key
    4. Jalankan perintah berikut untuk membuat direktori guna menyimpan file sertifikat server:

      sudo mkdir -p /root/ssl
    5. Jalankan perintah berikut untuk menyalin sertifikat server dan kunci privatnya ke direktori target:

      sudo cp server.crt /root/ssl
      sudo cp server.key /root/ssl
    6. Jalankan perintah berikut untuk melihat sertifikat server server.crt dan kunci privatnya server.key yang telah dihasilkan:

      cd /root/ssl
      ls

      Output:

      root.crt  root.csr  root.key  root.srl  server.crt  server.csr  server.key
  2. Contoh ini menggunakan klien Windows. Buka jendela Antarmuka baris perintah (CLI) dan jalankan perintah berikut untuk menyalin file sertifikat server yang dibuat pada langkah ini ke desktop lokal Anda.

    scp root@IPaddress:/root/ssl/server.crt C:\Users\Public\Desktop    # IPaddress adalah alamat IP server tempat Anda membuat sertifikat server.
    scp root@IPaddress:/root/ssl/server.key C:\Users\Public\Desktop    # IPaddress adalah alamat IP server tempat Anda membuat sertifikat server.
  3. Login ke Konsol Certificate Management Service.

  4. Di panel navigasi sebelah kiri, pilih Certificate Management > SSL Certificate Management.

  5. Di tab Uploaded, klik Uploaded.

  6. Di panel Uploaded, konfigurasi parameter berikut lalu klik OK.

    Untuk informasi selengkapnya, lihat Unggah, sinkronkan, dan bagikan Sertifikat SSL.

    Parameter

    Deskripsi

    Certificate Algorithm

    Pada contoh ini, dipilih Internationally Accepted Algorithm.

    Certificate Name

    Masukkan nama untuk sertifikat yang ingin Anda unggah.

    Certificate File

    Masukkan konten sertifikat dalam format PEM.

    Anda dapat menggunakan editor teks untuk membuka file sertifikat dalam format PEM atau CRT, lalu menyalin dan menempelkan isinya ke kotak teks ini. Atau, klik Upload and Parse File untuk memilih dan mengunggah file sertifikat dari komputer lokal Anda.

    Pada contoh ini, file sertifikat server server.crt yang telah disalin diunggah.

    Certificate Key

    Masukkan konten kunci privat dalam format PEM.

    Anda dapat menggunakan editor teks untuk membuka file kunci privat dalam format KEY, lalu menyalin dan menempelkan isinya ke kotak teks ini. Atau, klik Upload and Parse File untuk memilih dan mengunggah file kunci privat dari komputer lokal Anda.

    Pada contoh ini, file kunci privat server.key yang telah disalin diunggah.

    Certificate Chain

    Konten rantai sertifikat. Parameter ini tidak dikonfigurasi pada contoh ini.

Langkah 3: Siapkan sertifikat klien

Gunakan salah satu metode berikut untuk menyiapkan sertifikat klien.

  1. Login ke Konsol Certificate Management Service.

  2. Di panel navigasi sebelah kiri, klik Private Certificate Management.

  3. Di halaman Private Certificate Management, klik tab Private CAs dan temukan sertifikat root CA target.

    Untuk mempelajari cara membeli sertifikat root CA, lihat Beli dan aktifkan private CA.

  4. Klik ikon icon di samping sertifikat root CA target, temukan sertifikat CA bawahan target, lalu klik Certificates di kolom Actions.

  5. Di halaman Certificates, temukan sertifikat privat target. Di kolom Actions, klik Download.

  6. Di kotak dialog Download Certificate, pilih format sertifikat lalu klik Confirm and Download. Pada contoh ini, dipilih CRT. Setelah pengunduhan selesai, sertifikat klien diberi nama client.crt, dan kunci privat sertifikat diberi nama client.key.

  7. Konversi sertifikat klien ke file PKCS12 yang dikenali browser.

    1. Login jarak jauh ke instans ECS03. Untuk informasi selengkapnya, lihat Metode koneksi.

    2. Jalankan perintah berikut untuk membuat direktori guna menyimpan sertifikat klien:

      sudo mkdir -p /root/ca/users
    3. Unggah file client.crt dan client.key yang dihasilkan ke direktori users.

    4. Jalankan perintah berikut untuk mengonversi sertifikat klien ke file PKCS12:

      sudo openssl pkcs12 -export -clcerts -in /root/ca/users/client.crt -inkey /root/ca/users/client.key -out /root/ca/users/client.p12
    5. Atur password enkripsi untuk kunci privat sertifikat saat diminta.

    6. Masukkan password untuk mengekspor sertifikat. Password ini diperlukan untuk menginstal sertifikat klien.

      Output:

      Enter pass phrase for /root/ca/users/client.key:
      Enter Export Password:
      Verifying - Enter Export Password:
  8. Jalankan perintah berikut untuk melihat sertifikat klien yang dihasilkan:

    cd /root/ca/users
    ls

    Output:

    client.crt  client.key  client.p12
  9. Contoh ini menggunakan klien Windows. Di komputer lokal Anda, buka tool command-line dan jalankan perintah berikut untuk mengekspor sertifikat klien yang dihasilkan:

    scp root@IPaddress:/root/ca/users/client.p12 C:\Users\Public\Desktop   #IPaddress adalah alamat IP server tempat sertifikat klien dihasilkan.

Langkah 4: Instal sertifikat klien

Instal sertifikat klien yang dihasilkan pada klien. Topik ini menjelaskan cara menginstal sertifikat pada klien Windows dan Linux.

Klien Windows

Impor sertifikat klien yang diunduh ke Microsoft Edge.

  1. Buka Microsoft Edge, klik ... di pojok kanan atas, lalu pilih Settings.

  2. Di panel navigasi kiri, klik tab Privacy, search, and services. Di bagian Security, klik Manage certificates dan impor file PKCS12 yang diunduh. Saat mengimpor sertifikat, Anda harus memasukkan password yang ditetapkan saat mengekspor sertifikat pada Langkah 3: Ekspor sertifikat klien.

Klien Linux

Sertifikat klien yang dihasilkan disimpan di direktori pada server ECS03. Untuk memverifikasi otentikasi dua arah NLB pada klien Linux yang berbeda, salin sertifikat yang diperlukan ke direktori pada klien tersebut.

  1. Login ke klien Linux. Jalankan perintah berikut untuk menyalin sertifikat klien, sertifikat server, dan sertifikat root ke direktori.

    1. Buat direktori.

      sudo mkdir /root/ca
    2. Ubah izin direktori.

      sudo chmod 700 /root/ca
    3. Jalankan perintah berikut untuk menyalin file sertifikat.

      Jalur berikut hanyalah contoh. Ganti dengan jalur aktual Anda.

      sudo scp home@IPaddress:/root/ca/users/client.crt /root/ca     // Ganti IPaddress dengan alamat IP server sumber.
      sudo scp home@IPaddress:/root/ca/root.crt /root/ca       // Ganti IPaddress dengan alamat IP server sumber.
      sudo scp home@IPaddress:/root/ca/root.key /root/ca       // Ganti IPaddress dengan alamat IP server sumber.
      sudo scp home@IPaddress:/root/ssl/server.crt /root/ca     // Ganti IPaddress dengan alamat IP server sumber.
      sudo scp home@IPaddress:/root/ssl/server.key /root/ca     // Ganti IPaddress dengan alamat IP server sumber.

Langkah 5: Konfigurasi otentikasi timbal balik TCPSSL

  1. Login ke Konsol NLB.

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

  3. Di halaman Instances, temukan instans target lalu klik Create Listener di kolom Actions.

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

    Bagian ini hanya menjelaskan parameter yang relevan. Untuk semua parameter lainnya, gunakan pengaturan default. Untuk informasi selengkapnya, lihat Buat pendengar TCPSSL.

    Parameter

    Deskripsi

    Listener Protocol

    Pilih protokol pendengar. Pada contoh ini, pilih TCPSSL.

    Listener Port

    Masukkan port yang digunakan pendengar untuk menerima permintaan dan meneruskannya ke server backend. Pada contoh ini, masukkan 443.

  5. Di wizard SSL Certificate, dari daftar drop-down Server Certificate, pilih sertifikat server yang telah Anda beli atau unggah pada Langkah 2: Siapkan sertifikat server.

  6. Aktifkan toggle Enable Mutual Authentication, atur sumber sertifikat CA ke Alibaba Cloud issued, lalu pilih sertifikat CA yang dibeli dari daftar drop-down Default CA Certificate.

  7. Pilih TLS Security Policy lalu klik Next.

  8. Di wizard Select Server Group, pilih grup server yang telah Anda buat dan verifikasi detail server backend, ECS01 dan ECS02. Pada contoh ini, port mereka diatur ke 80. Lalu, klik Next.

  9. Di wizard Configuration Review, konfirmasi konfigurasi lalu klik Submit.

Langkah 6: Verifikasi otentikasi timbal balik TCPSSL

Klien Windows

  1. Di halaman Instances NLB, klik ID instans NLB target, lalu klik tab Listener untuk melihat status pemeriksaan kesehatan pendengar TCPSSL.

    Jika kolom Health Check Status menampilkan Healthy, berarti server backend dapat memproses permintaan dari pendengar TCPSSL.

  2. Di bilah alamat browser Anda, masukkan https://<domain_name_bound_to_the_server_certificate>, misalnya https://www.example.com. Di kotak dialog yang muncul, pilih sertifikat klien lalu klik OK.

  1. Untuk mencegah masalah caching browser saat memverifikasi load balancing lapisan 4, gunakan jendela privat atau penyamaran untuk mengakses nama domain. Anda akan mengamati bahwa permintaan didistribusikan secara bergantian antara dua instans ECS, mengembalikan Hello World ! This is ECS01. dan Hello World ! This is ECS02.

Klien Linux

Login ke klien Linux yang menyimpan sertifikat root, server, dan klien. Jalankan perintah berikut untuk memverifikasi otentikasi timbal balik NLB.

sudo curl --cert /root/ca/client.crt --key /root/ca/client.key --cacert /root/ca/root.crt www.example.com

www.example.com adalah nama domain yang dikaitkan dengan sertifikat server instans NLB.

Tanggapan serupa berikut menunjukkan bahwa otentikasi timbal balik telah selesai dan permintaan sedang didistribusikan ke kedua instans ECS.

$ sudo curl --cert /root/ca/client.crt --key /root/ca/client.key --cacert /root/ca/root.crt https://www.example.com
Hello World ! This is ECS01.
$ sudo curl --cert /root/ca/client.crt --key /root/ca/client.key --cacert /root/ca/root.crt https://www.example.com
Hello World ! This is ECS02.