日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

配置HTTPS證書

通過配置HTTPS證書,可以為部署在MSE Ingress網關上的業務實現傳輸層安全協議(TLS/SSL)加密,這是保護現代Web應用和API服務數據安全的關鍵措施之一。通過使用HTTPS證書,可以確保與網關進行通信的客戶端和服務器之間的數據傳輸是經過加密保護的,有效防止未經授權的第三方竊取或篡改敏感信息,并提供強大的防御措施來抵御中間人攻擊。

前提條件

配置方式介紹

MSE Ingress支持兩種方式配置HTTPS證書:K8s Secret方式和MSE控制臺方式。

對比項

K8s Secret方式

MSE控制臺方式

適用場景

  • 通過聲明式配置的方式統一管理證書。

  • 結合CI/CD流水線或Cert-Manager工具自動化管理證書。

  • 通過阿里云數字證書中心控制臺統一管理證書。

  • 證書同時作用于多個云產品上,例如WAF、SLB等產品。

  • 有批量部署、更換證書的訴求。

優先級

跨命名空間

不支持。

支持。

更新證書

替換K8s Secret內容。

MSE控制臺更換證書,或者在阿里云數字證書中心控制臺通過部署方式替換證書。

部署后端服務

  1. 登錄容器服務管理控制臺,在左側導航欄選擇集群

  2. 集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇工作負載 > 無狀態

  3. 單擊使用YAML創建資源。使用如下YAML部署一個名為httpbin的Deployment,以及一個名為httpbin的Service。

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: httpbin
      namespace: default
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: httpbin
      template:
        metadata:
          labels:
            app: httpbin
            version: v1
        spec:
          containers:
            - image: registry.cn-hangzhou.aliyuncs.com/mse-ingress/go-httpbin
              args:
                - "--version=v1"
              imagePullPolicy: Always
              name: httpbin
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: httpbin
      namespace: default
    spec:
      ports:
        - port: 8080
          protocol: TCP
      selector:
        app: httpbin

配置HTTPS證書

K8s Secret方式

您可以通過Ingress原生語義引用K8s Secret的方式為域名配置HTTPS證書。

  1. 準備域名證書。本文以自簽名證書為例。

    說明

    生產場景中,您需要替換為業務真實的密鑰和證書,可以從阿里云數字證書中心控制臺中下載域名的密鑰和證書。

    1. 執行如下命令,生成一個證書文件tls.crt和一個私鑰文件tls.key。

      openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout tls.key -out tls.crt -subj "/CN=foo.bar.com/O=foo.bar.com"
    2. 創建Secret存放TLS證書。

      1. 登錄容器服務管理控制臺,在左側導航欄選擇集群

      2. 集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇配置管理 > 保密字典

      3. 單擊創建。在創建面板,設置名稱為tls-test,選擇類型TLS證書,將創建好的tls.crt和tls.key復制到對應的輸入框中,然后單擊創建

      image.png

  2. 創建MSE Ingress并為域名foo.bar.com配置HTTPS證書。

    1. 在左側導航欄,選擇網絡 > 路由

    2. 路由頁面,單擊創建 Ingress

    3. 創建 Ingress對話框中,選擇網關類型MSE云原生網關,并配置后端關聯的服務注解證書等信息,然后單擊確定

      其中Ingress Classmse,配置路由為前綴匹配,路徑為/,轉發請求到服務httpbin,域名的證書通過引用K8s Secret進行配置。

      16621a99be546fbf7a3f98d7013cfeda

  3. 測試HTTPS流量。通過如下命令測試流量,請將x.x.x.x替換為您的真實網關IP。您可以在Ingress列表頁看到網關IP地址。

    說明

    由于本文示例使用的是自簽證書,且域名未在DNS服務商備案,所以需要通過--resolve手動解析域名到網關IP,通過-k跳過證書合法性校驗。

    curl -v -k https://foo.bar.com/version --resolve "foo.bar.com:443:x.x.x.x"

    預期輸出如下所示:

    * Connected to foo.bar.com (X.X.X.X) port 443 (#0)
    * ALPN, offering h2
    * ALPN, offering http/1.1
    * successfully set certificate verify locations:
    *   CAfile: /etc/ssl/cert.pem
      CApath: none
    * TLSv1.2 (OUT), TLS handshake, Client hello (1):
    * TLSv1.2 (IN), TLS handshake, Server hello (2):
    * TLSv1.2 (IN), TLS handshake, Certificate (11):
    * TLSv1.2 (IN), TLS handshake, Server key exchange (12):
    * TLSv1.2 (IN), TLS handshake, Server finished (14):
    * TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
    * TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
    * TLSv1.2 (OUT), TLS handshake, Finished (20):
    * TLSv1.2 (IN), TLS change cipher, Change cipher spec (1):
    * TLSv1.2 (IN), TLS handshake, Finished (20):
    * SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
    * ALPN, server accepted to use http/1.1
    * Server certificate:
    *  subject: CN=foo.bar.com; O=foo.bar.com
    *  start date: Jan 17 06:47:23 2024 GMT
    *  expire date: Jan 16 06:47:23 2025 GMT
    *  issuer: CN=foo.bar.com; O=foo.bar.com
    *  SSL certificate verify result: self signed certificate (18), continuing anyway.
    > GET /version HTTP/1.1
    > Host: foo.bar.com
    > User-Agent: curl/7.64.1
    > Accept: */*
    >
    < HTTP/1.1 200 OK
    < date: Wed, 17 Jan 2024 07:49:39 GMT
    < content-length: 53
    < content-type: text/plain; charset=utf-8
    < req-cost-time: 3
    < req-arrive-time: 1705477779046
    < resp-start-time: 1705477779049
    < x-envoy-upstream-service-time: 2
    < server: istio-envoy
    <
    version: v1
    hostname: httpbin-xxxxxx

MSE控制臺方式

您可以直接在MSE控制臺為域名配置證書,通過該方式您不再需要在Ingress上引用K8s Secret,只需配置路由規則即可。

重要

對于同一域名,MSE控制臺方式優先級高于K8s Secret方式。如果您在MSE控制臺和K8s Ingress中同時為同一個域名配置證書,那么優先使用控制臺配置的證書。

  1. 準備域名證書。本文以自簽名證書為例。

    說明

    生產場景中,您需要替換為業務真實的密鑰和證書,可以從阿里云數字證書中心控制臺中下載域名的密鑰和證書。

    1. 執行如下命令,生成一個證書文件tls.crt和一個私鑰文件tls.key。

    openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout tls.key -out tls.crt -subj "/CN=foo.bar.com/O=foo.bar.com"

    b. 上傳自簽名證書至阿里云數字證書中心。具體操作,請參見上傳和共享SSL證書。如果您的證書已托管在阿里云數字證書中心,則進行下一步。

  2. 創建域名并配置證書。

    1. 登錄MSE網關管理控制臺,并在頂部菜單欄選擇地域。

    2. 在左側導航欄,選擇云原生網關 > 網關列表,單擊目標網關名稱。

    3. 在左側導航欄,單擊域名管理

    4. 單擊創建域名。添加域名foo.bar.com,協議設置為HTTPS,選擇對應的證書。

      image.png

  3. 創建MSE Ingress。

    1. 登錄容器服務管理控制臺,在左側導航欄選擇集群

    2. 集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇網絡 > 路由

    3. 路由頁面,單擊創建 Ingress

    4. 創建 Ingress對話框中,選擇網關類型MSE云原生網關,并配置后端關聯的服務注解證書等信息,然后單擊確定

      其中Ingress Classmse,配置路由為前綴匹配,路徑為/,轉發請求到服務httpbin

      說明

      此處無需配置TLS證書。

      image.png

  4. 測試HTTPS流量。使用如下命令測試流量,請將x.x.x.x替換為您的真實網關IP。您可以在Ingress列表頁看到網關IP地址。

    說明

    由于本文示例使用的是自簽證書,且域名未在DNS服務商備案,所以需要通過--resolve手動解析域名到網關IP,通過-k跳過證書合法性校驗。

    curl -v -k https://foo.bar.com/version --resolve "foo.bar.com:443:x.x.x.x"

    預期輸出如下所示:

    * Connected to foo.bar.com (X.X.X.X) port 443 (#0)
    * ALPN, offering h2
    * ALPN, offering http/1.1
    * successfully set certificate verify locations:
    *   CAfile: /etc/ssl/cert.pem
      CApath: none
    * TLSv1.2 (OUT), TLS handshake, Client hello (1):
    * TLSv1.2 (IN), TLS handshake, Server hello (2):
    * TLSv1.2 (IN), TLS handshake, Certificate (11):
    * TLSv1.2 (IN), TLS handshake, Server key exchange (12):
    * TLSv1.2 (IN), TLS handshake, Server finished (14):
    * TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
    * TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
    * TLSv1.2 (OUT), TLS handshake, Finished (20):
    * TLSv1.2 (IN), TLS change cipher, Change cipher spec (1):
    * TLSv1.2 (IN), TLS handshake, Finished (20):
    * SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
    * ALPN, server accepted to use http/1.1
    * Server certificate:
    *  subject: CN=foo.bar.com; O=foo.bar.com
    *  start date: Jan 17 06:47:23 2024 GMT
    *  expire date: Jan 16 06:47:23 2025 GMT
    *  issuer: CN=foo.bar.com; O=foo.bar.com
    *  SSL certificate verify result: self signed certificate (18), continuing anyway.
    > GET /version HTTP/1.1
    > Host: foo.bar.com
    > User-Agent: curl/7.64.1
    > Accept: */*
    >
    < HTTP/1.1 200 OK
    < date: Wed, 17 Jan 2024 08:16:27 GMT
    < content-length: 46
    < content-type: text/plain; charset=utf-8
    < req-cost-time: 5
    < req-arrive-time: 1705479387567
    < resp-start-time: 1705479387573
    < x-envoy-upstream-service-time: 4
    < server: istio-envoy
    <
    version: v1
    hostname: httpbin-xxxxxx