Todos los productos
Search
Centro de documentos

Alibaba Cloud Service Mesh:Agregar un certificado para un nombre de dominio

Última actualización: Sep 05, 2026

Alibaba Cloud Service Mesh (ASM) permite agregar un certificado para un nombre de dominio desde la consola. Esto ayuda a proteger el acceso al nombre de dominio mediante protocolos como HTTPS y mejora la seguridad de la puerta de enlace del servicio. Este tema describe cómo agregar un certificado para un nombre de dominio.

Requisitos previos

Contexto

Este tema utiliza el servicio myexampleapp para el nombre de dominio aliyun.com como ejemplo para describir cómo agregar un certificado para el nombre de dominio aliyun.com. Una vez agregado correctamente el certificado, puede usar una puerta de enlace de ASM para acceder al servicio myexampleapp del nombre de dominio aliyun.com mediante el protocolo HTTPS.

Procedimiento

  1. Cree el servicio de ejemplo myexampleapp.

    1. Cree un archivo llamado myexample-nginx.conf que contenga el siguiente contenido.

      Este servicio de ejemplo se basa en NGINX. Debe crear un archivo de configuración para el servidor NGINX. Para el servicio con el nombre de dominio aliyun.com, la siguiente configuración especifica que las solicitudes a la ruta raíz devuelven el mensaje Welcome to aliyun.com! y el código de estado 200.

      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;
          }
        }
      }
    2. Ejecute el siguiente comando para crear un ConfigMap para el servidor NGINX:

      kubectl create configmap myexample-nginx-configmap --from-file=nginx.conf=./myexample-nginx.conf
    3. Cree un archivo llamado myexampleapp.yaml que contenga el siguiente contenido.

      View 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. Ejecute el siguiente comando para crear el servicio interno para el nombre de dominio aliyun.com:

      kubectl apply -f myexampleapp.yaml
  2. Importe el servicio myexampleapp a la puerta de enlace de ASM.

    1. Inicie sesión en la consola de ASM. En el panel de navegación izquierdo, seleccione Service Mesh > Mesh Management.

    2. En la página Mesh Management, haga clic en el nombre de la instancia de ASM. En el panel de navegación izquierdo, seleccione ASM Gateways > Ingress Gateway.

    3. En la página Ingress Gateway, haga clic en el nombre de la puerta de enlace de destino.

    4. En la página Gateway Details, haga clic en Upstream Service en el panel de navegación izquierdo.

    5. En la página Upstream Service, haga clic en Import service.

    6. En la página Import service, seleccione un elemento en Namespaces, seleccione el servicio myexampleapp, haga clic en el icono 上游服务 y luego haga clic en Submit.

  3. Cree un certificado y una clave privada.

    1. Ejecute el siguiente comando en OpenSSL para crear un certificado raíz y una clave privada:

      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. Ejecute los siguientes comandos para generar un certificado y una clave privada para el dominio aliyun.com.

      • Ejecute el siguiente comando para crear el certificado 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
      • Ejecute el siguiente comando para crear la clave privada 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. Agregue el certificado y la clave privada a la puerta de enlace de ASM.

    Nota
    • A partir de la versión V1.17, las instancias de ASM admiten certificados desde la página Certificate Management. Se recomienda migrar sus certificados a Certificate Management. Puede crear un certificado con el mismo nombre en la página Certificate Management para sobrescribir automáticamente el certificado existente. No es necesario eliminar el certificado anterior. Para obtener más información sobre cómo actualizar una instancia, consulte Upgrade an ASM instance.

    • Un certificado en la página Certificate Management crea automáticamente un Secret con el mismo nombre en el plano de datos. Esta acción sobrescribe el contenido de cualquier Secret existente con el mismo nombre.

    Instancias de ASM anteriores a la v1.17

    1. Inicie sesión en la consola de ASM. En el panel de navegación izquierdo, seleccione Service Mesh > Mesh Management.

    2. En la página Mesh Management, haga clic en el nombre de la instancia de ASM. En el panel de navegación izquierdo, seleccione ASM Gateways > Ingress Gateway.

    3. En la página Ingress Gateway, haga clic en el nombre de la puerta de enlace de destino. En la página Gateway Details, haga clic en Domain/Certificate en el panel de navegación izquierdo.

    4. En la página Domain/Certificate, haga clic en la pestaña Certificate y luego haga clic en Create.

    5. En la página New Certificate, introduzca un Name, pegue el contenido de aliyun.com.crt en el cuadro de texto Certificate y el contenido de aliyun.com.key en el cuadro de texto key, y luego haga clic en Create.

    ASM v1.17 y versiones posteriores

    1. Inicie sesión en la consola de ASM. En el panel de navegación izquierdo, seleccione Service Mesh > Mesh Management.

    2. En la página Mesh Management, haga clic en el nombre de la instancia de destino. En el panel de navegación izquierdo, seleccione ASM Gateway > Certificate Management.

    3. En la página Certificate Management, haga clic en Create. En el panel Certificate Information, configure los parámetros y haga clic en OK.

      Parámetro

      Descripción

      Name

      Introduzca un nombre para el certificado. En este ejemplo, use myexample-credential.

      Public Key Certificate

      El contenido del archivo aliyun.com.crt de Step 3.

      Private Key

      El contenido del archivo aliyun.com.key de Step 3.

  5. Vincule el nombre de dominio al certificado.

    1. Inicie sesión en la consola de ASM. En el panel de navegación izquierdo, seleccione Service Mesh > Mesh Management.

    2. En la página Mesh Management, haga clic en el nombre de la instancia de ASM. En el panel de navegación izquierdo, seleccione ASM Gateways > Ingress Gateway.

    3. En la página Ingress Gateway, haga clic en el nombre de la puerta de enlace de destino. En la página Gateway Details, haga clic en Domain/Certificate en el panel de navegación izquierdo.

    4. En la página Domain/Certificate, haga clic en la pestaña Domain y luego haga clic en Create.

    5. En la página Add domain, establezca Domain Name en *.aliyun.com y Protocol en HTTPS. Introduzca un Port Name y un Port. Seleccione una credential y seleccione Secure connections with standard TLS semantics.. A continuación, haga clic en Create.

      Nota

      Si selecciona Secure connections with standard TLS semantics., solo las solicitudes cifradas con TLS podrán acceder al nombre de dominio.

  6. Ejecute el siguiente comando para acceder a aliyun.com mediante HTTPS y comprobar que el certificado está vinculado al nombre de dominio:

    curl -k -H Host:www.aliyun.com --resolve www.aliyun.com:443:<IP address of the ASM gateway>  https://www.aliyun.com

    Salida esperada:

    Welcome to aliyun.com!

    Si accede correctamente a aliyun.com mediante el protocolo HTTPS, significa que el nombre de dominio y el certificado se han vinculado correctamente.