All Products
Search
Document Center

Server Load Balancer:Gunakan NLB untuk mengaktifkan SSL offloading melalui TCP (otentikasi timbal balik)

Last Updated:Mar 26, 2026

Network Load Balancer (NLB) mendukung SSL offloading skala besar. Anda dapat men-deploy instans NLB sebagai ingress untuk lalu lintas dan mengonfigurasi Sertifikat SSL serta sertifikat Certificate Authority (CA) untuk mengaktifkan otentikasi timbal balik, yang mengharuskan klien dan server menyediakan sertifikat digital guna membuktikan identitas masing-masing. Hal ini meningkatkan keamanan beban kerja Anda.

Informasi latar belakang

  • Otentikasi satu arah: Klien harus memverifikasi identitas server. Server tidak perlu memverifikasi identitas klien. Klien mengunduh sertifikat kunci publik dari server untuk otentikasi. Koneksi hanya dapat dibuat setelah identitas server diverifikasi.

  • Otentikasi timbal balik: Klien mengunduh sertifikat server (sertifikat kunci publik) dari server dan mengunggah sertifikat klien (sertifikat kunci publik) ke server untuk otentikasi. Koneksi hanya dapat dibuat setelah identitas klien dan server keduanya diverifikasi. Otentikasi timbal balik memberikan keamanan yang lebih tinggi.

Prasyarat

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

  • Tiga instans Elastic Compute Service (ECS) telah dibuat. Untuk informasi cara membuat instans, lihat Buat instans menggunakan wizard.

    • ECS01 dan ECS02 ditambahkan ke instans NLB sebagai server backend. Aplikasi NGINX berbeda dideploy pada ECS01 dan ECS02.

      Deploy aplikasi pada ECS01

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

      Deploy aplikasi pada ECS02

      yum install -y nginx
      systemctl start nginx.service
      cd /usr/share/nginx/html/
      echo "Hello World ! This is ECS02." > index.html
      
    • ECS03 digunakan untuk menghasilkan sertifikat server tanda tangan sendiri dan sertifikat klien. OpenSSL diunduh dari situs OpenSSL dan diinstal pada ECS03. Versi OpenSSL adalah 1.1.1 atau yang lebih baru. Jika Anda menggunakan server Linux yang sudah ada untuk menghasilkan sertifikat tanda tangan sendiri, Anda tidak perlu membuat ECS03.

  • Grup server dibuat untuk instans NLB, dan ECS01 serta ECS02 ditambahkan ke grup server tersebut. Dalam contoh ini, port backend ECS01 dan ECS02 diatur ke 80.

    Penting
    • Protokol backend grup server harus TCP. Permintaan yang dikirim dari NLB ke server backend telah didekripsi SSL-nya, sehingga server backend tidak perlu melakukan dekripsi SSL terhadap permintaan yang diterima.

    • Anda tidak dapat mengaitkan listener yang menggunakan SSL melalui TCP dengan grup server yang mengaktifkan fitur Client IP Preservation. Pastikan fitur Client IP Preservation dinonaktifkan untuk grup server tersebut.

Langkah 1: Siapkan sertifikat CA

  1. Login ke Konsol Layanan Manajemen Sertifikat

  2. Di panel navigasi kiri, pilih Private Certificate Management.

  3. Di halaman Private Certificate Management, pada tab Private CAs, temukan sertifikat root CA.

  4. Klik ikon icon di sebelah kiri sertifikat root CA, temukan CA perantara pribadi yang ingin dikelola, lalu klik Apply for Certificate pada kolom Actions.

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

    Bagian berikut menjelaskan parameter yang relevan dengan topik ini. Untuk informasi selengkapnya, lihat Manage private certificates.

    Parameter

    Description

    Certificate Type

    Select the type of private certificate that you want to purchase. In this example, Client Certificate is selected.

    Personal Name

    The unique identifier for the client user. Only required for a client certificate.

    In this example, enter the domain name of the NLB instance.

    Validity Period

    Specify a validity period for the private certificate. The validity period of the private certificate cannot exceed the subscription duration of the Private Certificate Authority (PCA) service that you purchase.

    In this example, the default validity period is used, which is 30 days.

    The private certificate is issued immediately after the request is submitted. To view the details about the private certificate, find the private CA, click Certificates in the Actions column, and then view the information on the Certificates page.

Langkah 2: Siapkan sertifikat server

Browser memverifikasi identitas server dengan memeriksa apakah sertifikat yang dikirim oleh server diterbitkan oleh CA tepercaya. Topik ini menjelaskan dua metode untuk mendapatkan sertifikat server. Anda dapat membeli sertifikat server dari Layanan Manajemen Sertifikat, atau mengunggah sertifikat tanda tangan sendiri ke Layanan Manajemen Sertifikat.

Metode 1: Membeli sertifikat server

Anda dapat membeli sertifikat server dari Layanan Manajemen Sertifikat atau dari penyedia layanan lainnya. Untuk informasi selengkapnya, lihat Beli Sertifikat SSL.

Metode 2: Mengunggah sertifikat server tanda tangan sendiri

  1. Login jarak jauh ke ECS03 dan jalankan perintah berikut untuk menghasilkan sertifikat server tanda tangan sendiri. Pastikan sertifikat CA tersimpan di ECS03. File sertifikat CA yang digunakan dalam contoh ini adalah root.crt dan root.key.

    1. Jalankan perintah berikut untuk menghasilkan kunci privat 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

      Konfigurasi parameter lainnya. Contoh:

      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

      Atur Common Name sesuai nama domain yang dikaitkan dengan sertifikat server. Pastikan nama domain tersebut valid. Nilai parameter lainnya harus sama dengan nilai parameter sertifikat root dan sertifikat klien.

      Dalam contoh ini, instans NLB menggunakan nama domain kustom www.example.com untuk menyediakan layanan eksternal. Oleh karena itu, Common Name diatur sebagai www.example.com.

    3. Jalankan perintah berikut untuk menghasilkan kunci publik sertifikat server:

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

      Hasilnya seperti pada gambar berikut.生成服务器证书

    4. Jalankan perintah berikut untuk membuat folder penyimpanan file sertifikat server:

      sudo mkdir -p /root/ssl
    5. Jalankan perintah berikut untuk menyalin sertifikat server ke folder tersebut:

      sudo cp server.crt /root/ssl
      sudo cp server.key /root/ssl
    6. Jalankan perintah berikut untuk melihat sertifikat server server.crt dan kunci privat server.key sertifikat server:

      cd /root/ssl
      ls

      Hasilnya seperti pada gambar berikut.

      查看服务器证书

  2. Dalam contoh ini, digunakan client Windows. Buka Antarmuka baris perintah (CLI) pada client Windows dan jalankan perintah berikut untuk mengekspor file sertifikat server yang dihasilkan pada Langkah 1 ke desktop lokal:

    scp root@IPaddress:/root/ssl/server.crt C:\Users\Public\Desktop    #Ganti 'IPaddress' dengan alamat IP server yang menghasilkan sertifikat server
    scp root@IPaddress:/root/ssl/server.key C:\Users\Public\Desktop    #Ganti 'IPaddress' dengan alamat IP server yang menghasilkan sertifikat server
  3. Login ke Konsol Layanan Manajemen Sertifikat.

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

  5. Klik tab Uploaded Certificates lalu klik Upload Certificate.

  6. Di panel Upload Certificate, atur parameter berikut lalu klik OK.

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

    Parameter

    Description

    Certificate Algorithm

    In this example, Internationally Accepted Algorithm is selected.

    Certificate Name

    Enter a name for the certificate that you want to upload.

    Certificate File

    Enter the content of the PEM-encoded CA certificate file.

    You can use one of the following methods to enter the content. Method 1: Use a text editor to open the CA certificate file in the PEM or CRT format. Then, copy the content to the Certificate File field. Method 2: Click Upload and Parse File below the Certificate File field. Then, select the CA certificate file from your computer to upload the content of the file.

    In this example, the server certificate file server.crt is uploaded.

    Certificate Key

    Enter the content of the PEM-encoded private key file.

    You can use one of the following methods to enter the content. Method 1: Use a text editor to open the private key file in the KEY format. Then, copy the content to the Add Private Key field. Method 2: Click Upload and Parse File below the Add Private Key field. Then, select the private key file from your computer to upload the content of the file.

    In this example, the private key file server.key is uploaded.

    Certificate Chain

    Enter the content of the certificate chain file. This parameter is ignored in this example.

Langkah 3: Siapkan sertifikat client

Anda dapat menggunakan salah satu metode berikut untuk menyiapkan sertifikat klien sesuai kebutuhan bisnis Anda:

  1. Login ke Konsol Layanan Manajemen Sertifikat.

  2. Di panel navigasi kiri, pilih Private Certificate Management.

  3. Di halaman Private Certificate Management, pada tab Private CAs, temukan sertifikat root CA.

    Untuk informasi selengkapnya tentang cara membeli sertifikat root CA, lihat Membeli dan mengaktifkan Private CA.

  4. Temukan sertifikat root CA, lalu klik ikon icon. Kemudian, temukan sertifikat CA turunan dan klik Certificates pada Actions.

  5. Di halaman Certificates, temukan sertifikat pribadi yang dituju. Pada kolom Actions, klik Download.

  6. Di kotak dialog Download Certificate, pilih format sertifikat lalu klik Confirm and Download. Dalam contoh ini, dipilih format CRT, sehingga sertifikat klien adalah client.crt dan kunci privat sertifikat adalah client.key.

  7. Konversi sertifikat klien menjadi file PKCS12 yang dapat dikenali browser.

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

    2. Jalankan perintah berikut untuk membuat folder penyimpanan sertifikat klien:

      sudo mkdir -p /root/ca/users
    3. Unggah sertifikat klien client.crt dan kunci privat sertifikat client.key ke direktori users.

    4. Jalankan perintah berikut untuk mengonversi sertifikat klien menjadi 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. Ikuti petunjuk untuk mengatur kunci enkripsi untuk kunci privat sertifikat.

    6. Masukkan password yang digunakan untuk mengekspor sertifikat klien. Password ini digunakan untuk mengenkripsi sertifikat klien dan diperlukan saat menginstal sertifikat klien.

      Hasilnya seperti pada gambar berikut.P12

  8. Jalankan perintah berikut untuk melihat sertifikat klien yang dihasilkan:

    cd /root/ca/users
    ls

    Hasilnya seperti pada gambar berikut.客户端证书

  9. Dalam contoh ini, digunakan client Windows. Buka CLI dan jalankan perintah berikut untuk mengekspor sertifikat klien:

    scp root@IPaddress:/root/ca/users/client.p12 C:\Users\Public\Desktop   #Ganti 'IPaddress' dengan alamat IP server yang menghasilkan sertifikat client

Langkah 4: Instal sertifikat client

Instal sertifikat klien pada klien Anda. Dalam contoh ini, client Windows dan client Linux digunakan untuk menunjukkan cara menginstal sertifikat klien.

klien Windows

Impor sertifikat klien ke Microsoft Edge.

  1. Buka Microsoft Edge. Di pojok kanan atas, pilih ... > Settings.

  2. Di panel navigasi kiri, klik tab Privacy, search, and services. Lalu, klik Manage certificates pada bagian Security dan impor file PKCS12. Pada langkah ini, Anda harus memasukkan password yang digunakan untuk mengekspor sertifikat klien pada Langkah 3: Siapkan sertifikat klien.

Klien Linux

Jika ECS03 digunakan untuk menghasilkan sertifikat klien, sertifikat klien disimpan di direktori ECS03. Jika client Linux lain digunakan untuk menghasilkan sertifikat klien, lakukan langkah-langkah berikut untuk menyalin sertifikat ke direktori client Linux terlebih dahulu:

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

    1. Jalankan perintah berikut untuk membuat folder:

      sudo mkdir /root/ca
    2. Jalankan perintah berikut untuk mengubah izin direktori:

      sudo chmod 700 /root/ca
    3. Jalankan perintah berikut untuk menyalin sertifikat ke direktori client Linux:

      Jalur berikut hanya sebagai referensi. Tentukan jalur aktual yang Anda gunakan.

      sudo scp home@IPaddress:/root/ca/users/client.crt /root/ca     //Ganti 'IPaddress' dengan alamat IP server yang menghasilkan sertifikat client
      sudo scp home@IPaddress:/root/ca/root.crt /root/ca       //Ganti 'IPaddress' dengan alamat IP server yang menghasilkan sertifikat root
      sudo scp home@IPaddress:/root/ca/root.key /root/ca       //Ganti 'IPaddress' dengan alamat IP server yang menghasilkan sertifikat root
      sudo scp home@IPaddress:/root/ssl/server.crt /root/ca     //Ganti 'IPaddress' dengan alamat IP server yang menghasilkan sertifikat server
      sudo scp home@IPaddress:/root/SSL/server.key /root/ca     //Ganti 'IPaddress' dengan alamat IP server yang menghasilkan sertifikat server

Langkah 5: Konfigurasi otentikasi timbal balik untuk listener yang menggunakan SSL melalui TCP

  1. Login ke Konsol NLB.

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

  3. Di halaman Instances, temukan instans NLB, lalu klik Actions pada kolom Create Listener.

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

    Tabel berikut hanya menjelaskan beberapa parameter. Gunakan nilai default untuk parameter lainnya. Untuk informasi selengkapnya, lihat Buat listener yang menggunakan SSL melalui TCP.

    Parameter

    Prosedur

    Listener Protocol

    Pilih protokol listener. Dalam contoh ini, dipilih TCPSSL.

    Listener Port

    Tentukan port tempat instans NLB mendengarkan. Instans NLB menggunakan port ini untuk menerima permintaan dan meneruskannya ke server backend. Port 443 digunakan dalam contoh ini.

  5. Di langkah Configure SSL Certificate, pilih sertifikat server yang ditentukan pada Langkah 2: Siapkan sertifikat server dari daftar drop-down Server Certificate.

  6. Aktifkan Enable Mutual Authentication. Pilih sertifikat CA yang dibeli pada Langkah 1 dari daftar drop-down Default CA Certificate.

  7. Pilih TLS Security Policy lalu klik Next.

  8. Di langkah Select Server Group, pilih grup server yang telah Anda buat dan lihat informasi server backend ECS01 dan ECS02. Dalam contoh ini, port server backend diatur ke 80. Lalu, klik Next.

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

Langkah 6: Verifikasi otentikasi timbal balik

klien Windows

  1. Buka halaman Instances NLB, klik ID instans NLB yang ingin dikelola, lalu klik tab Listener untuk melihat status pemeriksaan kesehatan listener yang menggunakan SSL melalui TCP.

    Jika kolom Health Check Status menampilkan Healthy, artinya server backend dapat memproses permintaan yang diteruskan oleh listener NLB.

  2. Masukkan https://Nama domain yang dikaitkan dengan sertifikat server di bilah alamat browser Anda, misalnya https://www.example.com. Di dialog yang muncul, pilih sertifikat yang digunakan untuk memverifikasi identitas klien, lalu klik OK.

  1. Untuk menghindari masalah akibat cache browser, kami sarankan Anda mengakses nama domain dalam mode penjelajahan pribadi saat menguji load balancing lapisan 4. Hasilnya menunjukkan bahwa permintaan didistribusikan ke ECS01 dan ECS02.验证双向认证图1验证双向认证图2

Klien Linux

Login ke client Linux tempat sertifikat root, sertifikat server, dan sertifikat klien disimpan, lalu jalankan perintah berikut untuk menguji otentikasi timbal balik:

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.

Paket balasan echo berikut menunjukkan bahwa klien dan server telah lulus otentikasi timbal balik, dan permintaan didistribusikan ke ECS01 dan ECS02. 验证1