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 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.
Certificados Let’s Encrypt via API
A API V4 da Azion oferece emissão e renovação de certificados Let’s Encrypt utilizando dois métodos de validação:
- DNS-01: Validação através de um registro TXT no DNS do domínio. Este método é recomendado quando você tem controle sobre os registros DNS do domínio, sendo ideal para domínios wildcard (
*) ou quando você não tem acesso direto ao servidor web. - HTTP-01: Validação através de um arquivo disponibilizado no servidor web. Este método é recomendado quando você não tem controle sobre os registros DNS, sendo mais simples para domínios que já apontam para a infraestrutura da Azion.
Os certificados são renovados automaticamente antes de expirar, desde que as configurações de validação estejam válidas e atualizadas, eliminando janelas de manutenção e mantendo as cotas, faturamento e permissões existentes.
Para mais informações sobre essas atualizações visite a documentação de Certificate Manager.
Como emitir um certificado Let’s Encrypt via API
Emitir certificado via DNS-01
O desafio DNS-01 requer a adição de um registro TXT no DNS do domínio para comprovar a propriedade. Este método é ideal para domínios wildcard ou quando você prefere gerenciar a validação via DNS.
-
Defina o hostname que será usado no certificado digital (por exemplo,
meusite.azion.com) comocommon_name. -
Configure o registro CNAME
_acme-challengeno seu provedor de DNS conforme descrito no guia Como gerar um certificado Let’s Encrypt para o seu domínio. -
Crie ou use um Token existente de API (ver Primeiros passos com a API da Azion).
-
Faça uma chamada para requisitar um novo certificado com o desafio
"dns"no endpointhttps://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": "dns","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": "dns", "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.
-
Monitore o status da emissão consultando os detalhes do certificado pelo endpoint
https://api.azion.com/v4/digital_certificates/certificates/{id}, substituindo o{id}pelo identificador respondido anteriormente.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.
Emitir certificado via HTTP-01
O desafio HTTP-01 oferece 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.
-
Defina o hostname que será usado no certificado digital (por exemplo,
meusite.azion.com) comocommon_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).
-
Faça uma chamada para requisitar um novo certificado com o desafio
"http"no endpointhttps://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.