Service Mesh (ASM), HTTPS desteği ve dinamik sertifika yükleme özelliğiyle giriş ağ geçidi güvenliğini artırır. Giriş ağ geçidinizle ilişkili Classic Load Balancer (CLB) örneğine bir sertifika bağlayabilir ve bir HTTPS dinleyici oluşturabilirsiniz. Bu yapılandırma, TLS sonlandırmayı CLB örneğine yükler; gelen HTTPS isteklerinin şifresini çözer ve bunları arka uç ağ geçidi pod'una HTTP istekleri olarak iletir. Bu konuda, bir ASM giriş ağ geçidinin CLB örneği için nasıl sertifika bağlanacağı ve HTTPS dinleyicisinin nasıl oluşturulacağı gösterilmektedir.
Ön koşullar
Adım 1: Bir CLB sertifikası hazırlayın
Mevcut bir sertifika ve özel anahtar kullanın
aliyun.com için geçerli bir sertifikanız ve özel anahtarınız varsa, özel anahtarı aliyun.com.key ve sertifikayı aliyun.com.crt olarak adlandırın.
Yeni bir sertifika ve özel anahtar oluşturun
Sertifikanız ve özel anahtarınız yoksa, OpenSSL kullanarak aliyun.com için kendinden imzalı bir sertifika ve özel anahtar oluşturabilirsiniz.
-
Kök sertifikayı ve özel anahtarı oluşturmak için aşağıdaki komutu çalıştırın.
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 -
Bir SSL sertifikası oluşturun.
Classic Load Balancer (CLB) konsolu üzerinde sol gezinme bölmesinden Classic Load Balancer (CLB) > Certificate Management seçeneğini belirleyin.
Certificates sayfasında Add Certificate öğesine tıklayın.
Add Certificate panelinde Alibaba Cloud Certificates seçeneğini belirleyin ve ardından sertifika listesinin alt kısmında bulunan Create SSL Certificate düğmesine tıklayın.
Certificate Management Service sayfasında sol gezinme bölmesinden seçeneğini belirleyin.
Uploaded sekmesinde Uploaded Certificates öğesine tıklayın. Certificate Name alanını aliyun.com olarak ayarlayın. Oluşturulan kök sertifikayı Certificate File alanına, özel anahtarı ise Certificate Key alanına yükleyin. OK düğmesine tıklayın ve sertifika zinciriyle ilgili uyarıyı dikkate almayın.
Classic Load Balancer (CLB) konsolu üzerinde sertifika oluşturma hakkında daha fazla bilgi için bkz. Select Alibaba Cloud Issued Certificate.
Adım 2: Bir HTTPS dinleyici oluşturun
ASM, YAML yapılandırma dosyasında parametreler tanımlayarak giriş ağ geçidi hizmetini özelleştirmenize olanak tanır. Daha fazla bilgi için bkz. KubeAPI kullanarak giriş ağ geçidini yönetin.
-
ingressgateway.yaml dosyanıza aşağıdaki içeriği ekleyin.
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: LoadBalancerserviceAnnotationsalanı, bir HTTPS dinleyici ile bir CLB örneğini yapılandırır. 443 numaralı bağlantı noktasına gönderilen HTTPS istekleri CLB örneğinde sonlandırılır; isteklerin şifresi çözülür ve arka uç ağ geçidi pod'unun 80 numaralı bağlantı noktasına HTTP istekleri olarak iletilir. YAML dosyasında${YOUR_CERT_ID}değerini, Adım 1 bölümündeki sertifika kimliği ile değiştirin. -
Giriş ağ geçidini dağıtmak için aşağıdaki komutu çalıştırın.
kubectl apply -f ingressgateway.yaml
Adım 3: HTTPS erişimini doğrulayın
ASM konsoluna giriş yapın. Sol gezinme bölmesinden seçeneğini belirleyin.
Mesh Management sayfasında ASM örneğinin adına tıklayın. Sol gezinme bölmesinden seçeneğini belirleyin.
-
Ingress Gateway sayfasında hedef ağ geçidinin Service address değerini bulun.
Service address değeri, ağ geçidinin IP adresidir.
-
productpage hizmetine HTTPS üzerinden erişmek için aşağıdaki komutu çalıştırın.
${INGRESS_GATEWAY_IP}değerini önceki adımdaki ağ geçidi IP adresi ile değiştirin.curl -k -H Host:a.aliyun.com --resolve a.aliyun.com:443:${INGRESS_GATEWAY_IP} https://a.aliyun.com/productpage -IÖrnek çıktı:
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Çıktı, CLB örneğinin şifreli trafiği başarıyla çözdüğünü ve kümeye ilettiğini gösterir. Bu durum, HTTPS dinleyicinin doğru şekilde yapılandırıldığını doğrular.