Alibaba Cloud Service Mesh (ASM) memungkinkan Anda menambahkan sertifikat untuk nama domain melalui Konsol. Hal ini membantu mengamankan akses ke nama domain Anda dengan menggunakan protokol seperti HTTPS dan meningkatkan keamanan gerbang layanan Anda. Topik ini menjelaskan cara menambahkan sertifikat untuk nama domain.
Prasyarat
-
Anda telah menyebarkan aplikasi di kluster yang terkait dengan instans ASM, dan instans tersebut merupakan Edisi Perusahaan atau Edisi Ultimate.
Gerbang masuk telah dideploy. Untuk informasi selengkapnya, lihat Create an ingress gateway.
-
Anda telah mengaktifkan injeksi proxy sidecar otomatis untuk namespace. Untuk informasi selengkapnya, lihat Enable automatic sidecar injection.
-
Anda telah memperoleh alamat IP gerbang ASM. Untuk informasi selengkapnya, lihat Obtain the IP address of an ASM gateway.
Informasi latar belakang
Topik ini menggunakan layanan myexampleapp untuk nama domain aliyun.com sebagai contoh untuk menjelaskan cara menambahkan sertifikat untuk nama domain aliyun.com. Setelah sertifikat berhasil ditambahkan, Anda dapat menggunakan gerbang ASM untuk mengakses layanan myexampleapp untuk nama domain aliyun.com melalui protokol HTTPS.
Prosedur
-
Buat layanan contoh myexampleapp.
-
Buat file bernama myexample-nginx.conf yang berisi konten berikut.
Layanan contoh ini berbasis NGINX. Anda harus membuat file konfigurasi untuk server NGINX. Untuk layanan dengan nama domain aliyun.com, konfigurasi berikut menentukan bahwa permintaan ke path root akan mengembalikan pesan
Welcome to aliyun.com!dan kode status200.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 'Welcome to aliyun.com!'; add_header Content-Type text/plain; } } } -
Jalankan perintah berikut untuk membuat ConfigMap untuk server NGINX:
kubectl create configmap myexample-nginx-configmap --from-file=nginx.conf=./myexample-nginx.conf -
Buat file bernama myexampleapp.yaml yang berisi konten berikut.
-
Jalankan perintah berikut untuk membuat layanan internal untuk nama domain aliyun.com:
kubectl apply -f myexampleapp.yaml
-
-
Impor layanan myexampleapp ke gerbang ASM.
-
Masuk ke Konsol ASM. Di panel navigasi kiri, pilih .
-
Pada halaman Mesh Management, klik nama instans ASM. Di panel navigasi kiri, pilih .
-
Pada halaman Ingress Gateway, klik nama gerbang target.
-
Pada halaman Gateway Details, klik Upstream Service di panel navigasi kiri.
-
Pada halaman Upstream Service, klik Import service.
-
Pada halaman Import service, pilih Namespaces, pilih layanan myexampleapp, klik ikon
, lalu klik Submit.
-
-
Buat sertifikat dan kunci privat.
-
Jalankan perintah berikut di OpenSSL 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 -
Jalankan perintah berikut untuk menghasilkan sertifikat dan kunci privat untuk domain 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"
-
-
-
Tambahkan sertifikat dan kunci privat ke gerbang ASM.
Catatan-
Mulai dari V1.17, instans ASM mendukung sertifikat dari halaman Certificate Management. Kami menyarankan Anda memigrasikan sertifikat Anda ke Certificate Management. Anda dapat membuat sertifikat dengan nama yang sama pada halaman Certificate Management untuk secara otomatis menimpa sertifikat yang ada. Anda tidak perlu menghapus sertifikat lama. Untuk informasi selengkapnya tentang cara melakukan upgrade instans, lihat Upgrade an ASM instance.
-
Sertifikat pada halaman Certificate Management secara otomatis membuat Secret dengan nama yang sama di bidang data. Tindakan ini akan menimpa konten Secret yang sudah ada dengan nama yang sama.
Instans ASM sebelum v1.17
-
Masuk ke Konsol ASM. Di panel navigasi kiri, pilih .
-
Pada halaman Mesh Management, klik nama instans ASM. Di panel navigasi kiri, pilih .
-
Pada halaman Ingress Gateway, klik nama gerbang target. Pada halaman Gateway Details, klik Domain/Certificate di panel navigasi kiri.
-
Pada halaman Domain/Certificate, klik tab Certificate, lalu klik Create.
-
Pada halaman New Certificate, masukkan Name, tempel konten
aliyun.com.crtke dalam kotak teks Certificate dan kontenaliyun.com.keyke dalam kotak teks key, lalu klik Create.
ASM v1.17 dan versi lebih baru
-
Masuk ke Konsol ASM. Di panel navigasi kiri, pilih .
-
Pada halaman Mesh Management, klik nama instans target. Di panel navigasi kiri, pilih .
-
Pada halaman Certificate Management, klik Create. Pada panel Certificate Information, konfigurasikan parameter dan klik OK.
Parameter
Deskripsi
Name
Masukkan nama untuk sertifikat. Dalam contoh ini, gunakan myexample-credential.
Public Key Certificate
Konten file
aliyun.com.crtdari Langkah 3.Private Key
Konten file
aliyun.com.keydari Langkah 3.
-
-
Mengaitkan nama domain ke sertifikat.
-
Masuk ke Konsol ASM. Di panel navigasi kiri, pilih .
-
Pada halaman Mesh Management, klik nama instans ASM. Di panel navigasi kiri, pilih .
-
Pada halaman Ingress Gateway, klik nama gerbang target. Pada halaman Gateway Details, klik Domain/Certificate di panel navigasi kiri.
-
Pada halaman Domain/Certificate, klik tab Domain, lalu klik Create.
-
Pada halaman Add domain, atur Domain Name menjadi *.aliyun.com dan Protocol menjadi HTTPS. Masukkan Port Name dan Port. Pilih credential dan centang Secure connections with standard TLS semantics.. Lalu, klik Create.
CatatanJika Anda memilih Secure connections with standard TLS semantics., hanya permintaan terenkripsi TLS yang dapat mengakses nama domain tersebut.
-
-
Jalankan perintah berikut untuk mengakses aliyun.com melalui HTTPS dan verifikasi bahwa sertifikat telah diikat ke nama domain:
curl -k -H Host:www.aliyun.com --resolve www.aliyun.com:443:<IP address of the ASM gateway> https://www.aliyun.comOutput yang diharapkan:
Welcome to aliyun.com!Jika Anda berhasil mengakses aliyun.com menggunakan protokol HTTPS, hal ini menunjukkan bahwa nama domain dan sertifikat telah berhasil diikat.