All Products
Search
Document Center

Alibaba Cloud Service Mesh:Mengikat sertifikat ke nama domain

Last Updated:Jun 28, 2025

Service Mesh (ASM) memungkinkan Anda mengikat sertifikat ke nama domain secara visual. Setelah sertifikat diikat ke nama domain, Anda dapat menggunakan gateway masuk untuk mengakses nama domain melalui protokol seperti HTTPS, meningkatkan keamanan gateway masuk. Topik ini menjelaskan cara mengikat sertifikat ke nama domain.

Prasyarat

Informasi latar belakang

Dalam contoh ini, layanan myexampleapp dengan nama domain aliyun.com digunakan. Setelah Anda mengikat sertifikat ke nama domain aliyun.com, Anda dapat menggunakan gateway masuk untuk mengakses layanan myexampleapp melalui HTTPS.

Prosedur

  1. Buat layanan contoh bernama myexampleapp.

    1. Buat file myexample-nginx.conf yang berisi konten berikut:

      Dalam contoh ini, layanan myexampleapp dengan nama domain aliyun.com diimplementasikan menggunakan NGINX. Anda perlu membuat file konfigurasi untuk server NGINX. Blok kode berikut menentukan bahwa pesan Selamat datang di aliyun.com! dan kode status 200 akan dikembalikan untuk permintaan ke jalur root layanan:

      events {
      }
      http {
        log_format main '$remote_addr - $remote_user [$time_local]  $status '
        '"$request" $body_bytes_sent "$http_referer" '
        '"$http_user_agent" "$http_x_forwarded_for"';
        access_log /var/log/nginx/access.log main;
        error_log  /var/log/nginx/error.log;
        server {
          listen 80;
          location / {
              return 200 'Selamat datang di aliyun.com!';
              add_header Content-Type text/plain;
          }
        }
      }
    2. Jalankan perintah berikut untuk membuat ConfigMap untuk server NGINX:

      kubectl create configmap myexample-nginx-configmap --from-file=nginx.conf=./myexample-nginx.conf
    3. Buat file myexampleapp.yaml yang berisi konten berikut:

      Tampilkan Isi dari myexampleapp.yaml

      apiVersion: v1
      kind: Service
      metadata:
        name: myexampleapp
        labels:
          app: myexampleapp
      spec:
        ports:
        - port: 80
          protocol: TCP
        selector:
          app: myexampleapp
      ---
      apiVersion: apps/v1
      kind: Deployment
      metadata:
        name: myexampleapp
      spec:
        selector:
          matchLabels:
            app: myexampleapp
        replicas: 1
        template:
          metadata:
            labels:
              app: myexampleapp
          spec:
            containers:
            - name: nginx
              image: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6
              ports:
              - containerPort: 80
              volumeMounts:
              - name: nginx-config
                mountPath: /etc/nginx
                readOnly: true
            volumes:
            - name: nginx-config
              configMap:
                name: myexample-nginx-configmap
    4. Jalankan perintah berikut untuk membuat layanan myexampleapp dengan nama domain aliyun.com:

      kubectl apply -f myexampleapp.yaml
  2. Impor layanan myexampleapp ke gateway masuk.

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

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

    3. Di halaman Ingress Gateway, klik nama gateway masuk yang diinginkan.

    4. Di bilah navigasi sebelah kiri halaman Gateway overview, klik Upstream Service.

    5. Di halaman Gateway upstream services, klik Import service.

    6. Di halaman Import service, pilih namespace layanan myexampleapp dari daftar drop-down Namespace. Di kotak pilih layanan, pilih layanan myexampleapp dan klik ikon 上游服务 untuk memindahkan layanan ke kotak terpilih. Lalu, klik Submit.

  3. Buat sertifikat dan kunci privat untuk server aliyun.com.

    1. Jalankan perintah openssl 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. Jalankan perintah berikut untuk membuat sertifikat dan kunci privat untuk server aliyun.com.

      • Jalankan perintah berikut untuk membuat sertifikat aliyun.com.crt:

        openssl x509 -req -days 365 -CA aliyun.root.crt -CAkey aliyun.root.key -set_serial 0 -in aliyun.com.csr -out aliyun.com.crt
      • Jalankan perintah berikut untuk membuat kunci privat aliyun.com.key:

        openssl req -out aliyun.com.csr -newkey rsa:2048 -nodes -keyout aliyun.com.key -subj "/CN=aliyun.com/O=myexample organization"
  4. Pasang sertifikat dan kunci privat dalam volume dan tambahkan volume tersebut ke gateway masuk.

    Catatan
    • Untuk instance ASM versi 1.17 atau lebih baru, Anda dapat menggunakan sertifikat yang ditambahkan ke halaman Certificate Management. Kami sarankan Anda memigrasikan sertifikat ke Certificate Management sesegera mungkin. Untuk memigrasi sertifikat, Anda dapat membuat sertifikat baru dengan nama yang sama dengan sertifikat yang ada di halaman Certificate Management. Kemudian, sertifikat yang ada akan ditimpa dan Anda tidak perlu menghapusnya. Untuk informasi lebih lanjut tentang cara memperbarui instance ASM, lihat Perbarui Instance ASM.

    • Untuk sertifikat yang ditambahkan ke halaman Certificate Management, sistem secara otomatis menghasilkan rahasia dengan nama yang sama dengan sertifikat pada bidang data. Jika rahasia dengan nama yang sama sudah ada, konten baru rahasia akan menimpa konten aslinya.

    Instance ASM dengan versi lebih lama dari 1.17

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

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

    3. Di halaman Ingress Gateway, klik nama gateway yang ingin Anda konfigurasi. Di bilah navigasi sebelah kiri halaman Gateway overview, klik Domain/Certificate.

    4. Di halaman yang muncul, klik tab Certificate dan klik Create.

    5. Di halaman New Certificate, masukkan nama sertifikat di bidang Name, salin konten sertifikat aliyun.com.crt ke kotak Certificate, salin konten kunci privat aliyun.com.key ke kotak key, lalu klik Create.

    Instance ASM versi 1.17 atau lebih baru

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

    2. Di halaman Mesh Management, klik nama instance ASM. Di bilah navigasi sebelah kiri, pilih ASM Gateways > Certificate Management.

    3. Di halaman Certificate Management, klik Create. Di panel Certificate Information, konfigurasikan parameter yang diperlukan dan klik OK.

      Parameter

      Deskripsi

      Name

      Masukkan nama sertifikat. Untuk contoh ini, masukkan myexample-credential.

      Public Key Certificate

      Masukkan konten sertifikat aliyun.com.crt yang dihasilkan di Langkah 3.

      Private Key

      Masukkan konten kunci privat aliyun.com.key yang dihasilkan di Langkah 3.

  5. Ikatkan sertifikat ke nama domain.

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

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

    3. Di halaman Ingress Gateway, klik nama gateway yang ingin Anda konfigurasi. Di bilah navigasi sebelah kiri halaman Gateway overview, klik Domain/Certificate.

    4. Di halaman yang muncul, klik tab Domain dan klik Create.

    5. Di halaman Add domain, atur parameter Domain Name menjadi *.aliyun.com dan parameter Protocol menjadi HTTPS, serta masukkan nama port dan nomor port berdasarkan kebutuhan bisnis Anda. Selain itu, pilih sertifikat yang Anda impor ke gateway masuk, pilih Secure connections with standard TLS semantics, lalu klik Create.

      Catatan

      Jika Anda memilih Secure connections with standard TLS semantics, hanya permintaan TLS yang dapat mengakses nama domain.

  6. Jalankan perintah berikut untuk mengakses nama domain aliyun.com melalui HTTPS untuk memeriksa apakah nama domain dan sertifikat telah diikat:

    curl -k -H Host:www.aliyun.com --resolve www.aliyun.com:443:{IP address of the ingress gateway} https://www.aliyun.com

    Keluaran yang diharapkan:

    Selamat datang di aliyun.com!

    Nama domain aliyun.com dapat diakses melalui HTTPS. Ini menunjukkan bahwa sertifikat telah diikat ke nama domain.