Todos os produtos
Search
Central de documentação

Alibaba Cloud Service Mesh:Adicionar um certificado para um nome de domínio

Última atualização: Jun 28, 2026

O Alibaba Cloud Service Mesh (ASM) permite adicionar um certificado para um nome de domínio no console. Esse recurso protege o acesso ao seu domínio com protocolos como HTTPS e aumenta a segurança do gateway de serviço. Este tópico descreve como adicionar um certificado para um nome de domínio.

Pré-requisitos

Informações de fundo

Este tópico usa o serviço myexampleapp para o domínio aliyun.com como exemplo para descrever como adicionar um certificado ao domínio aliyun.com. Após adicionar o certificado com sucesso, use um gateway do ASM para acessar o serviço myexampleapp do domínio aliyun.com pelo protocolo HTTPS.

Procedimento

  1. Crie o serviço de exemplo myexampleapp.

    1. Crie um arquivo chamado myexample-nginx.conf com o seguinte conteúdo.

      Este serviço de exemplo baseia-se em NGINX. Crie um arquivo de configuração para o servidor NGINX. Para o serviço com o nome de domínio aliyun.com, a configuração a seguir especifica que as solicitações ao caminho raiz retornam a mensagem Welcome to aliyun.com! e o código de status 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. Execute o comando a seguir para criar um ConfigMap para o servidor NGINX:

      kubectl create configmap myexample-nginx-configmap --from-file=nginx.conf=./myexample-nginx.conf
    3. Crie um arquivo chamado myexampleapp.yaml com o seguinte conteúdo.

      Visualize 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. Execute o comando a seguir para criar o serviço interno para o nome de domínio aliyun.com:

      kubectl apply -f myexampleapp.yaml
  2. Importe o serviço myexampleapp para o gateway do ASM.

    1. Faça login no console do ASM. No painel de navegação à esquerda, escolha Service Mesh > Mesh Management.

    2. Na página Mesh Management, clique no nome da instância do ASM. No painel de navegação à esquerda, escolha ASM Gateways > Ingress Gateway.

    3. Na página Ingress Gateway, clique no nome do gateway desejado.

    4. Na página Gateway Details, clique em Upstream Service no painel de navegação à esquerda.

    5. Na página Upstream Service, clique em Import service.

    6. Na página Import service, selecione um Namespaces, selecione o serviço myexampleapp, clique no ícone 上游服务 e clique em Submit.

  3. Crie um certificado e uma chave privada.

    1. Execute o comando a seguir no OpenSSL para criar um certificado raiz e uma chave 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. Execute os comandos a seguir para gerar um certificado e uma chave privada para o domínio aliyun.com.

      • Execute o comando a seguir para criar o 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
      • Execute o comando a seguir para criar a chave 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. Adicione o certificado e a chave privada ao gateway do ASM.

    Nota
    • A partir da versão V1.17, as instâncias do ASM suportam certificados na página Certificate Management. Recomendamos migrar seus certificados para Certificate Management. Crie um certificado com o mesmo nome na página Certificate Management para substituir automaticamente o certificado existente, sem necessidade de excluir o antigo. Para mais informações sobre como atualizar uma instância, consulte Atualizar uma instância do ASM.

    • Um certificado na página Certificate Management cria automaticamente um Secret com o mesmo nome no plano de dados. Essa ação substitui o conteúdo de qualquer Secret existente com o mesmo nome.

    Instâncias do ASM anteriores à v1.17

    1. Faça login no console do ASM. No painel de navegação à esquerda, escolha Service Mesh > Mesh Management.

    2. Na página Mesh Management, clique no nome da instância do ASM. No painel de navegação à esquerda, escolha ASM Gateways > Ingress Gateway.

    3. Na página Ingress Gateway, clique no nome do gateway desejado. Na página Gateway Details, clique em Domain/Certificate no painel de navegação à esquerda.

    4. Na página Domain/Certificate, clique na aba Certificate e clique em Create.

    5. Na página New Certificate, insira um Name, cole o conteúdo de aliyun.com.crt na caixa de texto Certificate e o conteúdo de aliyun.com.key na caixa de texto key e clique em Create.

    ASM v1.17 e posteriores

    1. Faça login no console do ASM. No painel de navegação à esquerda, escolha Service Mesh > Mesh Management.

    2. Na página Mesh Management, clique no nome da instância desejada. No painel de navegação à esquerda, escolha ASM Gateway > Certificate Management.

    3. Na página Certificate Management, clique em Create. No painel Certificate Information, configure os parâmetros e clique em OK.

      Parâmetro

      Descrição

      Name

      Insira um nome para o certificado. Neste exemplo, use myexample-credential.

      Public Key Certificate

      O conteúdo do arquivo aliyun.com.crt da Etapa 3.

      Private Key

      O conteúdo do arquivo aliyun.com.key da Etapa 3.

  5. Vincule o nome de domínio ao certificado.

    1. Faça login no console do ASM. No painel de navegação à esquerda, escolha Service Mesh > Mesh Management.

    2. Na página Mesh Management, clique no nome da instância do ASM. No painel de navegação à esquerda, escolha ASM Gateways > Ingress Gateway.

    3. Na página Ingress Gateway, clique no nome do gateway desejado. Na página Gateway Details, clique em Domain/Certificate no painel de navegação à esquerda.

    4. Na página Domain/Certificate, clique na aba Domain e clique em Create.

    5. Na página Add domain, defina Domain Name como *.aliyun.com e Protocol como HTTPS. Insira um Port Name e uma Port. Selecione uma credential e marque Secure connections with standard TLS semantics.. Em seguida, clique em Create.

      Nota

      Se você selecionar Secure connections with standard TLS semantics., apenas solicitações criptografadas com TLS poderão acessar o nome de domínio.

  6. Execute o comando a seguir para acessar aliyun.com via HTTPS e verificar se o certificado está vinculado ao nome de domínio:

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

    Saída esperada:

    Welcome to aliyun.com!

    O acesso bem-sucedido a aliyun.com pelo protocolo HTTPS indica que o nome de domínio e o certificado foram vinculados corretamente.