Como obter certificado wildcard no modo CNAME do ESA
Categories:
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:
- ESA
- Resolvedor de DNS (ou resolvedor DNS terceiro)
Passos da operação
- ESA: DNS -> Configurações: Converter para modo de acesso NS, confirme diretamente, não é necessário realizar outras operações.
- ESA: Solicitar certificado gratuito na borda, solicite apenas
*.example.com, usando seu próprio domínio - 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 - Resolvedor de DNS: Crie um registro TXT, preencha o registro de host e valor obtidos no passo anterior
- 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.
- 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:
- 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.
- 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