全部产品
Search
文档中心

Alibaba Cloud Service Mesh:Buat Pendengar HTTPS untuk Instance CLB dari Gateway Ingress

更新时间:Jul 06, 2025

Anda dapat menggunakan gateway ingress untuk mengaktifkan HTTPS dan pemuatan sertifikat dinamis, memastikan keamanan gateway. Pendengar HTTPS dibuat dengan mengikat sertifikat ke instance Classic Load Balancer (CLB) dari gateway ingress. Instance CLB mendekripsi permintaan HTTPS menjadi HTTP dan meneruskan permintaan tersebut ke pod gateway ingress. Topik ini menjelaskan cara membuat pendengar HTTPS dengan mengikat sertifikat ke instance CLB dari gateway ingress.

Prasyarat

Langkah 1: Siapkan sertifikat yang ingin Anda ikat ke instance CLB

Sertifikat dan kunci privat telah dibuat

Jika Anda sudah memiliki sertifikat dan kunci privat untuk aliyun.com, beri nama kunci privat sebagai aliyun.com.key dan sertifikat sebagai aliyun.com.crt.

Tidak ada sertifikat dan kunci privat yang dibuat

Jika Anda belum membuat sertifikat dan kunci privat, gunakan openssl untuk menghasilkan sertifikat dan kunci privat untuk aliyun.com dengan langkah-langkah berikut:

  1. Jalankan perintah berikut untuk membuat sertifikat root dan kunci privat.

    openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -subj '/O=myexample Inc./CN=aliyun.com' -keyout aliyun.root.key -out aliyun.root.crt
  2. Buat sertifikat SSL.

    1. Di Konsol Server Load Balancer CLB, pilih Server Load Balancer CLB > Certificate Management dari panel navigasi di sebelah kiri.

    2. Di halaman Certificate Management, klik Create Certificate.

    3. Di panel Create Certificate, pilih Alibaba Cloud Issued Certificate, lalu klik Create SSL Certificate di bagian bawah daftar sertifikat.

    4. Di halaman Digital Certificate Management Service, pilih Certificate Management > SSL Certificate Management dari panel navigasi di sebelah kiri.

    5. Klik Upload Certificate di tab Upload Certificate. Masukkan Certificate Name sebagai aliyun.com, lalu unggah sertifikat root dan kunci privat yang dihasilkan ke bidang Certificate File dan Certificate Private Key. Klik OK dan abaikan prompt rantai sertifikat.

  3. Buat sertifikat di Konsol Server Load Balancer CLB. Untuk informasi lebih lanjut, lihat Pilih Sertifikat Diterbitkan Alibaba Cloud.

Langkah 2: Buat pendengar HTTPS

ASM memungkinkan Anda membuat gateway ingress kustom dengan mengonfigurasi parameter dalam file YAML. Untuk informasi lebih lanjut, lihat Gunakan KubeAPI untuk Mengelola Gateway Ingress.

  1. Tambahkan konten berikut ke file ingressgateway.yaml.

    spec:
     ....
      ports:
        - name: http-0
          port: 80
          protocol: HTTP
          targetPort: 80
        - name: https-1
          port: 443
          protocol: HTTPS
          targetPort: 80
      ....
      serviceAnnotations:
        service.beta.kubernetes.io/alibaba-cloud-loadbalancer-cert-id: "${YOUR_CERT_ID}"
        service.beta.kubernetes.io/alibaba-cloud-loadbalancer-protocol-port: 'https:443'
        ....
      serviceType: LoadBalancer

    Buat instance CLB menggunakan serviceAnnotations. Instance CLB mendekripsi permintaan HTTPS yang diterima pada port 443 menjadi permintaan HTTP dan meneruskannya ke port 80 dari pod gateway ingress. Nilai ${YOUR_CERT_ID} dalam file YAML diperoleh dari Langkah 1.

  2. Jalankan perintah berikut untuk menerapkan gateway ingress.

    kubectl apply -f ingressgateway.yaml

Langkah 3: Periksa apakah pendengar HTTPS berfungsi

  1. Masuk ke Konsol ASM. Di panel navigasi sebelah kiri, pilih Service Mesh > Mesh Management.

  2. Di halaman Mesh Management, klik nama instance ASM. Di panel navigasi sebelah kiri, pilih ASM Gateways > Ingress Gateway.

  3. Di halaman Ingress Gateway, periksa Endpoint dari gateway target.

    Endpoint adalah alamat IP dari gateway target.

  4. Jalankan perintah berikut untuk mengakses layanan productpage melalui HTTPS.

    Gunakan ${Alamat IP gateway ingress} yang diperoleh pada langkah sebelumnya.

    curl -k -H Host:a.aliyun.com --resolve a.aliyun.com:443:${Alamat IP gateway ingress}  https://a.aliyun.com/productpage -I

    Contoh keluaran:

    HTTP/2 200
    date: Fri, 13 Jan 2023 07:11:45 GMT
    content-type: text/html; charset=utf-8
    content-length: 5294
    vary: Accept-Encoding
    x-envoy-upstream-service-time: 23

    Traffic terenkripsi didekripsi menjadi teks biasa saat melewati instance CLB, lalu masuk ke kluster. Hasil ini menunjukkan bahwa pendengar HTTPS berfungsi.