Solicite um certificado Let's Encrypt
Solicite um certificado Let's Encrypt para os domínios de um workload, prepare os registros do desafio e verifique o status da emissão.
Você pode solicitar um certificado Let’s Encrypt™ para os domínios de um workload pelo Azion Console, pela Azion CLI ou pela API. Para usar um certificado obtido de outra autoridade certificadora, consulte Envie um certificado digital.
HTTPS no seu próprio hostname precisa de um certificado de servidor que o cubra, porque o certificado SAN padrão da Azion cobre apenas o workload domain e o Azion Custom Domain. Com um certificado Let’s Encrypt, Certificate Manager cuida do certificado por você. A Azion solicita o certificado ao Let’s Encrypt, conclui o desafio que prova que você controla cada hostname e renova o certificado antes que ele expire. Alguns clientes mais antigos não conseguem validar a cadeia de um certificado Let’s Encrypt. Para saber quais clientes, consulte Cadeia de certificados.
Uma conta que opera na API v3 com Domains seleciona o certificado em cada domínio, em vez disso. Para mais informações, consulte Domains.
Selecione uma interface. Os pré-requisitos e os passos de cada tarefa seguem a sua escolha.
Pré-requisitos
- Um workload na infraestrutura de produção cujos domínios listam todos os hostnames que o certificado deve cobrir. Para listar um hostname em um workload, consulte Adicione um domínio a um workload.
- Um domínio que a sua conta tem permissão para usar, registrado no Domain Name System (DNS).
- Acesso aos registros DNS do domínio, no seu provedor de DNS ou no Edge DNS.
- Acesso ao Azion Console. Para mais informações, consulte Como acessar o Azion Console.
Prepare os registros DNS para o desafio
O Let’s Encrypt emite o certificado apenas depois de validar todos os hostnames da solicitação. O desafio que você escolhe decide quais registros DNS devem existir antes de você enviar a solicitação:
| Desafio | Preset do Console | Valor de challenge | O que o DNS precisa antes da solicitação |
|---|---|---|---|
| HTTP-01 | New Let’s Encrypt Certificate (HTTP-01) | http | Todo hostname já aponta para o workload domain |
| DNS-01 | New Let’s Encrypt Certificate (DNS-01) | dns | Nada quando a zona está no Edge DNS. Com outro provedor de DNS, um registro _acme-challenge por hostname |
Com DNS-01 e uma zona no Edge DNS, a Azion grava o registro _acme-challenge na zona e o desafio é concluído sem nenhuma ação sua. Escolha DNS-01 quando um hostname ainda não aponta para a Azion, como durante uma migração de outro provedor. Para saber como cada desafio valida um hostname, consulte Validação de domínio.
No seu provedor de DNS, crie os registros que o seu desafio precisa, uma linha por hostname:
| Nome | Tipo | Valor | Crie quando |
|---|---|---|---|
O seu hostname, como www.example.com | CNAME | O workload domain, como <id>.map.azionedge.net | HTTP-01: antes da solicitação. DNS-01: antes de enviar tráfego ao workload |
_acme-challenge.<your-domain>, como _acme-challenge.www.example.com | CNAME | <your-domain>.letsencrypt.azion.com, como www.example.com.letsencrypt.azion.com | DNS-01 com a zona em outro provedor de DNS: antes da solicitação |
Quando o Edge DNS mantém a zona, crie o registro do hostname nele. Para um domínio apex, o registro em cada tipo de provedor e como verificar a resolução, consulte Aponte um domínio para um workload. Para registros e zonas no Edge DNS, consulte Guias e tutoriais de Edge DNS.
Mantenha o registro _acme-challenge enquanto um workload usar o certificado. A Azion renova o certificado 30 dias antes de ele expirar executando o desafio novamente, e um registro excluído faz a renovação falhar.
Solicite o certificado
Uma solicitação Let’s Encrypt nomeia o hostname principal como common name e, opcionalmente, outros hostnames como nomes alternativos. Todo nome deve pertencer a um domínio que a sua conta tem permissão para usar.
Para solicitar o certificado com a Azion CLI, execute azion create digital-certificate com a autoridade lets_encrypt. Defina --challenge como dns ou http e liste os outros hostnames em --alternative-names, separados por vírgulas:
A flag opcional --key-algorithm aceita rsa_2048, rsa_4096 ou ecc_384. A Azion aceita a solicitação e agenda a emissão, e o novo certificado aparece no Certificate Manager com o status pending.
Para encontrar o ID do novo certificado, liste os certificados da conta:
A saída lista cada certificado com as colunas ID, NAME, STATUS, TYPE e MANAGED. Um certificado Let’s Encrypt tem o tipo edge_certificate, e MANAGED mostra true.
Um nome da solicitação para o qual a sua conta não tem permissão é recusado. A Azion CLI imprime a recusa como:
Para as causas e as correções, consulte Solucionar problemas de Workloads. Um workload não pode listar um hostname wildcard, então o Console não pode solicitar um certificado wildcard. Para solicitar um com o desafio DNS-01, consulte Solicite um certificado Let’s Encrypt com a API.
Vincule o certificado ao workload
Um certificado protege o tráfego HTTPS apenas depois que um workload o nomeia no seu campo tls.certificate. O preset do Console vincula o certificado que ele solicita. Um certificado que você solicitou com a Azion CLI ou com a API precisa deste vínculo.
Para vincular o certificado com a Azion CLI, salve um arquivo JSON com o ID do workload e o objeto tls, aqui como tls.json. O arquivo repete os ciphers e a minimum_version do workload, em que 7 e tls_1_3 são os padrões:
Atualize o workload com o arquivo:
O comando imprime o ID do workload que ele atualizou:
Uma mudança no workload leva vários minutos para alcançar toda a infraestrutura distribuída da Azion, e as requisições podem receber a configuração antiga ou a nova nesse intervalo. Depois que o certificado é emitido e a mudança se propaga, o certificado mostra active e protege o HTTPS nos domínios do workload.
Verifique o status da emissão
A Azion faz a primeira tentativa de emitir o certificado em até 5 minutos depois da solicitação. O campo status do certificado mostra em que ponto a emissão está.
Para verificar o status com a Azion CLI, descreva o certificado:
A saída é o certificado como a API o retorna. Para um certificado Let’s Encrypt, managed é true, authority é lets_encrypt e challenge é dns ou http. Leia status e, enquanto ele for failed, leia o motivo em status_detail.
O certificado passa de pending para challenge_verification enquanto o desafio aguarda a validação. Depois que o Let’s Encrypt o emite, ele mostra active enquanto um workload o nomeia, e inactive caso contrário. Quando a validação falha, ele mostra failed, e status_detail nomeia o hostname a verificar, como An error has occurred while issuing the requested certificate. Please verify the following domains CNAME: www.example.com.
Uma tentativa que falha é repetida em um cronograma, então um registro que você corrige depois ainda pode terminar em uma emissão automática. Para o cronograma de novas tentativas, consulte Tempo de emissão e novas tentativas. Para um certificado que fica pending ou passa a failed, consulte Solucionar problemas de Workloads.