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

  1. Defina o hostname que será usado no certificado digital (por exemplo, meusite.azion.com) como common_name;

  2. 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á.

  3. Uma vez que o DNS responda corretamente, crie ou use um Token existente de API (ver Primeiros passos com a API da Azion).

  4. 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:

Terminal window
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": []
}'
  1. 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"
}
}
  1. Se o status resultante for Pending, o agendamento foi concluído com sucesso.

  2. 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.

  3. 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”

  4. Se o processo ocorreu com sucesso, o certificado será emitido e o status será active.

  5. Agora basta associar seu certificado ao workload desejado e ajustar as propriedades TLS/HTTPS de sua preferência.