All Products
Search
Document Center

Container Service for Kubernetes:Deploy HTTPS mutual authentication through ALB Ingress

Last Updated:Aug 21, 2026

Otentikasi timbal balik HTTPS memungkinkan server dan klien saling memverifikasi identitas satu sama lain. Fitur ini dapat digunakan pada ALB Ingress dalam skenario perbankan, layanan keuangan, IoT, layanan internal, atau pemerintahan yang melibatkan data sensitif atau memerlukan pembatasan akses hanya untuk klien tepercaya.

Cara kerja

HTTPS one-way authentication HTTPS mutual authentication
Client verifies server Yes Yes
Server verifies client No Yes
Client holds SSL or TLS certificate signed by root CA
Server holds Server certificate Root CA certificate

Server menggunakan sertifikat root CA-nya untuk memverifikasi sertifikat klien sebelum membangun koneksi.

Prasyarat

Pastikan Anda telah:

(Opsional) Langkah 1: Buat sertifikat CA self-signed

Lewati langkah ini jika Anda sudah memiliki sertifikat root CA.

  1. Buat kunci privat:

    openssl genrsa -out ca.key 4096
  2. Buat permintaan penandatanganan sertifikat (CSR):

    Field Required Description
    Country Name Yes Kode negara dua huruf, misalnya, cn
    State or Province Name Yes Nama provinsi atau wilayah
    Locality Name Yes Nama kota
    Organization Name Yes Nama organisasi
    Organizational Unit Name Yes Nama departemen
    Common Name No Nama yang umum digunakan
    Email Address No Email administrator sertifikat
    A challenge password No Password keamanan CSR opsional. Biarkan kosong jika tidak diperlukan
    openssl req -new -out ca.csr -key ca.key

    OpenSSL akan meminta input untuk bidang-bidang berikut:

    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) []:root
    Email Address []:example@ali
    A challenge password []:
  3. Buat sertifikat root CA dengan masa berlaku 3.650 hari:

    File Description
    ca.crt Sertifikat root CA
    ca.csr File CSR
    ca.key Kunci privat
    openssl x509 -req -in ca.csr -out ca.crt -signkey ca.key -CAcreateserial -days 3650

    Jalankan ls untuk memastikan file output tersedia:

    ca.crt  ca.csr  ca.key

Langkah 2: Unggah sertifikat CA

Unggah sertifikat root CA ke Certificate Management Service untuk mendapatkan identifier sertifikat yang akan digunakan dalam AlbConfig.

  1. Masuk ke Konsol Certificate Management Service. Pilih wilayah Outside Chinese Mainland. Di panel navigasi kiri, klik Certificate Application Repository.

  2. Pada halaman Certificate Application Repository, klik Create Repository. Di panel Create Repository, atur parameter berikut lalu klik OK.

    Parameter Description
    Repository Name Nama repositori kustom
    Data Source Pilih Upload CA Certificates untuk mengunggah sertifikat yang ditandatangani oleh CA pihak ketiga
  3. Klik repositori Anda, lalu klik Uploaded Certificates.

  4. Di panel CA Information, isi bidang berikut lalu klik Confirm and Enable.

    Parameter Description
    Package Name Nama sertifikat kustom
    CA Certificates Tempel konten sertifikat, atau klik Upload and Parse File
  5. Klik Details untuk sertifikat yang telah diunggah dan catat identifier sertifikat untuk Langkah 4.

Langkah 3: Buat sertifikat klien

Gunakan sertifikat root CA untuk menandatangani sertifikat klien.

  1. Buat kunci privat untuk klien:

    openssl genrsa -out client.key 4096
  2. Buat CSR untuk sertifikat klien:

    openssl req -new -out client.csr -key client.key

    Isi bidang yang sama seperti pada Langkah 1. Nilainya dapat berbeda dari sertifikat CA.

  3. Tandatangani sertifikat klien menggunakan root CA:

    File Description
    client.crt Sertifikat klien yang ditandatangani oleh root CA
    client.csr File CSR
    client.key Kunci privat klien
    openssl x509 -req -in client.csr -out client.crt -CA ca.crt -CAkey ca.key -CAcreateserial -days 3650

    ca.crt dan ca.key berasal dari Langkah 1. Jalankan ls untuk memastikan output tersedia:

    client.crt  client.csr  client.key

Langkah 4: Aktifkan dan uji otentikasi timbal balik

Aktifkan otentikasi timbal balik

  1. Buka AlbConfig untuk diedit:

    kubectl edit albconfig <ALBCONFIG_NAME>

    Ganti <ALBCONFIG_NAME> dengan nama AlbConfig Anda.

  2. Pada konfigurasi listener HTTPS (port 443), tambahkan caEnabled: true dan atur caCertificates.CertificateId ke identifier sertifikat dari Langkah 2:

    apiVersion: alibabacloud.com/v1
    kind: AlbConfig
    metadata:
      name: #...
    spec:
      config:
        #...
      listeners:
      - port: 443
        protocol: HTTPS
        caEnabled: true                                        # Enable mutual authentication
        caCertificates:
        - CertificateId: 0e40dda998174723af39d37fcaf*****     # Certificate identifier from Step 2
        certificates:
          #...

Uji otentikasi timbal balik

  1. Dapatkan hostname dan alamat Ingress:

    kubectl get ingress

    Output yang diharapkan:

    NAME            CLASS                HOSTS                  ADDRESS                         PORTS     AGE
    https-ingress   https-ingressclass   demo.alb.ingress.top   alb-********.alb.aliyuncs.com   80, 443   83m

    Catat nilai HOSTS dan ADDRESS.

  2. Kirim permintaan dengan sertifikat klien. Ganti demo.alb.ingress.top dan alb-********.alb.aliyuncs.com dengan nilai dari langkah sebelumnya:

    curl -H HOST:demo.alb.ingress.top -k https://alb-********.alb.aliyuncs.com --cert client.crt --key client.key

    Output yang diharapkan:

    old

(Opsional) Langkah 5: Nonaktifkan otentikasi timbal balik

  1. Buka AlbConfig untuk diedit:

    kubectl edit albconfig <ALBCONFIG_NAME>
  2. Atur caEnabled ke false:

    apiVersion: alibabacloud.com/v1
    kind: AlbConfig
    metadata:
      name: #...
    spec:
      config:
        #...
      listeners:
      - port: 443
        protocol: HTTPS
        caEnabled: false                                       # Disable mutual authentication
        caCertificates:
        - CertificateId: 0e40dda998174723af39d37fcaf*****
        certificates:
          #...

Langkah selanjutnya