Como gerar um certificado Let's Encrypt usando desafio HTTP-01 para sua aplicação via API
As aplicações que utilizam o protocolo HTTPS requerem um Digital Certificate. Ao direcionar seu tráfego para a Azion, você tem a opção de gerar um certificado Let’s Encrypt™, que é uma maneira gratuita e segura de criptografar dados para sua edge application. A Azion automatiza a emissão, renovação e desativação deste certificado TLS através de uma solução interna de gerenciamento de certificados.
Desafio HTTP-01 do Let’s Encrypt via API
A Azion agora oferece emissão e renovação de certificados Let’s Encrypt via API usando o desafio HTTP-01, oferecendo um processo simplificado sem a necessidade de registros TXT no DNS. Isso oferece uma solução de integração fácil e conveniente, especialmente benéfica para clientes que gerenciam diversos domínios e nomes de host.
Os certificados são renovados automaticamente antes de expirar, eliminando janelas de manutenção e mantendo as cotas, faturamento e permissões existentes. Perfeito para plataformas de e-commerce e provedores de hospedagem, esse aprimoramento permite um onboarding mais rápido e garante segurança aos sites dos clientes em minutos, sem alterações no DNS.
Para mais informações sobre essas atualizações, visite a documentação de Digital Certificates.
Como emitir um certificado Let’s Encrypt via challenge HTTP-01
-
Defina o hostname que será usado no certificado digital (por exemplo, meusite.azion.com) como common_name;
-
Garanta que o DNS para tal hostname esteja apontado para Azion (ver Como apontar seu domínio para a Azion). Isso deve ser feito no seu serviço provedor de DNS.
a. Caso precise emitir um certificado único com múltiplos hostnames (alternative names), todos os hostnames devem ser direcionados para Azion; caso contrário a emissão falhará.
-
Uma vez que o DNS responda corretamente, crie ou use um Token existente de API (ver Primeiros passos com a API da Azion).
-
Fazer uma chamada para requisitar um novo certificado com o desafio “http” no endpoint https://api.azion.com/v4/digital_certificates/certificates/request.
Por exemplo:
curl --request POST \ --url https://api.azion.com/v4/digital_certificates/certificates/request \ --header 'Accept: application/json' \ --header 'Authorization: Bearer {seutoken}' \ --header 'Content-Type: application/json' \ --data '{ "name": "Meu certificado", "challenge": "http", "authority": "lets_encrypt", "common_name": "meusite.azion.com", "alternative_names": []}'
- A resposta será semelhante à abaixo:
{ "state": "executed", "data": { "id": 127013, "name": "Meu certificado", "certificate": null, "issuer": null, "subject_name": [ "meusite.azion.com" ], "validity": null, "status": "Pending", "type": "edge_certificate", "managed": true, "status_detail": "", "csr": null, "challenge": "http", "authority": "lets_encrypt", "key_algorithm": "", "active": true, "product_version": "2.0", "last_editor": "{seu_usuario@azion.com}", "last_modified": "2025-06-25T21:32:21.016402Z" }}
-
Se o status resultante for Pending, o agendamento foi concluído com sucesso.
-
A plataforma Azion irá agendar a emissão do certificado automaticamente mesmo que você não tenha um Workload com o hostname relativo publicado e ativo na Azion.
a. A própria Azion sobe um serviço que responde o desafio Let’s Encrypt HTTP-01 e o finaliza assim que a emissão é concluída.
-
Monitore o status da emissão pela consulta dos detalhes do certificado pelo endpoint
https://api.azion.com/v4/digital_certificates/certificates/{id}
substituindo o{id}
pelo identificador respondido anteriormente, como no exemplo “id”: 127013.a. Em caso de falha, será exibida uma mensagem de erro na propriedade status_detail, como por exemplo “status_detail”: “An error has occurred while issuing the requested certificate. Please verify the following domains CNAME: meusite.azion.com”
-
Se o processo ocorreu com sucesso, o certificado será emitido e o status será active.
-
Agora basta associar seu certificado ao workload desejado e ajustar as propriedades TLS/HTTPS de sua preferência.