Como obter certificado wildcard no modo CNAME do ESA

O domínio está hospedado no DNS da Alibaba Cloud ou em um provedor terceiro, não é possível migrar o NS do domínio, mas é necessário um domínio wildcard. O ESA da Alibaba Cloud oferece 10 certificados gratuitos, o que obviamente não é suficiente.

Aqui compartilho um método para obter certificado wildcard, explicando o princípio no final.

É necessário operar em duas interfaces de negócios:

  1. ESA
  2. Resolvedor de DNS (ou resolvedor DNS terceiro)

Passos da operação

  1. ESA: DNS -> Configurações: Converter para modo de acesso NS, confirme diretamente, não é necessário realizar outras operações.
  2. ESA: Solicitar certificado gratuito na borda, solicite apenas *.example.com, usando seu próprio domínio
  3. ESA: Abra a lista suspensa do certificado em processo de solicitação, obtenha o registro TXT, registro de host:_acme-challenge.example.com, valor do registro -PewtWrH93avbM_bScUILtcNwCHifNvjZIa2VgT9seQ
  4. Resolvedor de DNS: Crie um registro TXT, preencha o registro de host e valor obtidos no passo anterior
  5. Aguarde a obtenção do certificado wildcard, se não for obtido em 10 minutos, indica que houve erro, verifique o erro por conta própria.
  6. ESA: DNS -> Configurações: Converter para modo de acesso CNAME, confirme diretamente, não é necessário realizar outras operações.

Princípio

Todos os certificados gratuitos são fornecidos por letsencrypt, que possui dois métodos de autenticação:

  1. Desafio HTTP-01: o servidor de validação do Let’s Encrypt acessa através de uma solicitação HTTP um arquivo específico no seu servidor (localizado no caminho .well-known/acme-challenge/), para confirmar o controle do domínio.
  2. Desafio DNS-01: este método requer que você adicione um registro TXT específico ao DNS do seu domínio. Ao adicionar um registro TXT específico ao DNS, você pode provar que possui controle sobre o domínio.

Certificados wildcard só podem ser obtidos através do Desafio DNS-01, ou seja, é necessário configurar registros DNS. Portanto, o ESA exige que o domínio seja hospedado na plataforma ESA para solicitar certificado wildcard. No passo de operação “ESA: DNS -> Configurações: Converter para modo de acesso NS”, a conclusão é obtida analisando a informação de retorno da API do ESA ApplyCertificate. Este passo não gera nenhum efeito prático, apenas serve para contornar a validação da Alibaba Cloud.

O passo principal é escrever o registro TXT pré-definido no servidor NS do domínio ao solicitar o certificado ao letscrypt, seja este servidor proveniente do resolvedor de DNS ou do ESA, pode-se provar que o domínio pertence a você.

Resumo

O ESA e o resolvedor de DNS pertencem à Alibaba Cloud, mas não podem trocar dados. O ESA obviamente tem a capacidade de validar se o domínio pertence à conta, a obtenção de certificado wildcard requer apenas adicionar uma regra de resolução no resolvedor de DNS e autorizar, mas não foi feito. A experiência ainda tem espaço para melhorias.

Certificados obtidos por este método podem não ser renováveis, pode-se usar outros métodos para sincronizar o certificado ao ESA: https://api.aliyun.com/api/ESA/2024-09-10/SetCertificate