Tous les produits
Search
Centre de documentation

Alibaba Cloud Service Mesh:Ajouter un certificat pour un nom de domaine

Dernière mise à jour :Aug 11, 2026

Alibaba Cloud Service Mesh (ASM) vous permet d'ajouter un certificat pour un nom de domaine depuis la console. Cette fonctionnalité sécurise l'accès à votre nom de domaine via des protocoles tels que HTTPS et renforce la sécurité de votre passerelle de service. Cette rubrique explique comment ajouter un certificat pour un nom de domaine.

Prérequis

Contexte

Cette rubrique utilise le service myexampleapp pour le nom de domaine aliyun.com afin d'illustrer l'ajout d'un certificat pour le domaine aliyun.com. Une fois le certificat ajouté avec succès, vous pouvez utiliser une passerelle ASM pour accéder au service myexampleapp du domaine aliyun.com via le protocole HTTPS.

Procédure

  1. Créez le service d'exemple myexampleapp.

    1. Créez un fichier nommé myexample-nginx.conf contenant le contenu suivant.

      Ce service d'exemple repose sur NGINX. Vous devez créer un fichier de configuration pour le serveur NGINX. Pour le service associé au nom de domaine aliyun.com, la configuration ci-dessous indique que les requêtes adressées au chemin racine renvoient le message Welcome to aliyun.com! et le code d'état 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. Exécutez la commande suivante pour créer un ConfigMap pour le serveur NGINX :

      kubectl create configmap myexample-nginx-configmap --from-file=nginx.conf=./myexample-nginx.conf
    3. Créez un fichier nommé myexampleapp.yaml contenant le contenu suivant.

      Afficher 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. Exécutez la commande suivante pour créer le service interne pour le nom de domaine aliyun.com :

      kubectl apply -f myexampleapp.yaml
  2. Importez le service myexampleapp dans la passerelle ASM.

    1. Connectez-vous à la console ASM. Dans le volet de navigation de gauche, sélectionnez Service Mesh > Mesh Management.

    2. Sur la page Mesh Management, cliquez sur le nom de l'instance ASM. Dans le volet de navigation de gauche, sélectionnez ASM Gateways > Ingress Gateway.

    3. Sur la page Ingress Gateway, cliquez sur le nom de la passerelle cible.

    4. Sur la page Gateway Details, cliquez sur Upstream Service dans le volet de navigation de gauche.

    5. Sur la page Upstream Service, cliquez sur Import service.

    6. Sur la page Import service, sélectionnez un Namespaces, choisissez le service myexampleapp, cliquez sur l'icône 上游服务, puis cliquez sur Submit.

  3. Créez un certificat et une clé privée.

    1. Exécutez la commande suivante dans OpenSSL pour générer un certificat racine et une clé privée :

      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. Exécutez les commandes suivantes pour générer un certificat et une clé privée pour le domaine aliyun.com.

      • Exécutez la commande suivante pour créer le certificat 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
      • Exécutez la commande suivante pour créer la clé privée 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. Ajoutez le certificat et la clé privée à la passerelle ASM.

    Remarque
    • À partir de la version 1.17, les instances ASM prennent en charge les certificats depuis la page Certificate Management. Nous vous recommandons de migrer vos certificats vers Certificate Management. Vous pouvez créer un certificat portant le même nom sur la page Certificate Management pour remplacer automatiquement le certificat existant. Il n'est pas nécessaire de supprimer l'ancien certificat. Pour plus d'informations sur la mise à niveau d'une instance, consultez la section Mettre à niveau une instance ASM.

    • Un certificat sur la page Certificate Management crée automatiquement un Secret portant le même nom sur le plan de données. Cette action écrase le contenu de tout Secret existant portant le même nom.

    Instances ASM antérieures à la v1.17

    1. Connectez-vous à la console ASM. Dans le volet de navigation de gauche, sélectionnez Service Mesh > Mesh Management.

    2. Sur la page Mesh Management, cliquez sur le nom de l'instance ASM. Dans le volet de navigation de gauche, sélectionnez ASM Gateways > Ingress Gateway.

    3. Sur la page Ingress Gateway, cliquez sur le nom de la passerelle cible. Sur la page Gateway Details, cliquez sur Domain/Certificate dans le volet de navigation de gauche.

    4. Sur la page Domain/Certificate, cliquez sur l'onglet Certificate, puis cliquez sur Create.

    5. Sur la page New Certificate, saisissez un Name, collez le contenu de aliyun.com.crt dans la zone de texte Certificate et le contenu de aliyun.com.key dans la zone de texte key, puis cliquez sur Create.

    ASM v1.17 et versions ultérieures

    1. Connectez-vous à la console ASM. Dans le volet de navigation de gauche, sélectionnez Service Mesh > Mesh Management.

    2. Sur la page Mesh Management, cliquez sur le nom de l'instance cible. Dans le volet de navigation de gauche, sélectionnez ASM Gateway > Certificate Management.

    3. Sur la page Certificate Management, cliquez sur Create. Dans le panneau Certificate Information, configurez les paramètres et cliquez sur OK.

      |
      **Paramètre**
      |
      **Description**
      | | --- | --- | |
      **Name**
      |
      Saisissez un nom pour le certificat. Dans cet exemple, utilisez **myexample-credential**.
      | |
      **Public Key Certificate**
      |
      Le contenu du fichier `aliyun.com.crt` issu de l'[Étape 3](#step_wef_7e3_bbh).
      | |
      **Private Key**
      |
      Le contenu du fichier `aliyun.com.key` issu de l'[Étape 3](#step_wef_7e3_bbh).
      |















  5. Associez le nom de domaine au certificat.

    1. Connectez-vous à la console ASM. Dans le volet de navigation de gauche, sélectionnez Name > Public Key Certificate.

    2. Sur la page Private Key, cliquez sur le nom de l'instance ASM. Dans le volet de navigation de gauche, sélectionnez ASM Gateways > Ingress Gateway.

    3. Sur la page Ingress Gateway, cliquez sur le nom de la passerelle cible. Sur la page Gateway Details, cliquez sur Domain/Certificate dans le volet de navigation de gauche.

    4. Sur la page Domain/Certificate, cliquez sur l'onglet Domain, puis cliquez sur Create.

    5. Sur la page Add domain, définissez le paramètre Domain Name sur *.aliyun.com et le paramètre Protocol sur HTTPS. Saisissez un Port Name et un Port. Sélectionnez une credential et cochez l'option Secure connections with standard TLS semantics.. Ensuite, cliquez sur Create.

      Remarque

      Si vous sélectionnez l'option Secure connections with standard TLS semantics., seules les requêtes chiffrées via TLS peuvent accéder au nom de domaine.

  6. Exécutez la commande suivante pour accéder à aliyun.com via HTTPS et vérifier que le certificat est bien associé au nom de domaine :

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

    Sortie attendue :

    Welcome to aliyun.com!

    Si vous parvenez à accéder à aliyun.com via le protocole HTTPS, cela signifie que le nom de domaine et le certificat sont correctement associés.