# Gere um certificado Let's Encrypt para o domínio

import LetsEncryptExpiration from '~/includes/snippets/LetsEncryptExpiration/pt/snippet.mdx'
import Apiv4Rollout from '~/includes/snippets/apiv4Rollout/en/snippet.mdx'
import Tabs from '~/components/tabs/Tabs'
import Code from '~/components/Code/Code.astro'

As aplicações que utilizam o protocolo HTTPS requerem um [Certificate Manager](/pt-br/documentacao/produtos/secure/firewall/certificate-manager/). 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.

<LetsEncryptExpiration />

---

## Antes de começar

A Azion gera certificados Let's Encrypt para domínios e subdomínios registrados no Domain Name System (DNS). Os domínios podem ser adquiridos e registrados em zonas DNS por meio de um provedor de DNS de terceiros, como [GoDaddy](http://www.godaddy.com/) ou [Amazon AWS](https://aws.amazon.com/getting-started/hands-on/get-a-domain/).

Para os fins deste guia, suponha que o *fully-qualified domain name* (FQDN) para o qual você deseja gerar um certificado Let's Encrypt seja um registro CNAME `​​www.seudominio.org​`​ em uma zona DNS ​`​seudominio.org​`​.

:::note
O suporte da Azion para certificados Let's Encrypt está totalmente sujeito à disponibilidade e às limitações definidas pelo serviço Let's Encrypt, conforme descrito em sua [documentação oficial](https://letsencrypt.org/docs/rate-limits/).
:::

---

## Gere um certificado Let's Encrypt 

Você pode optar por gerar um certificado Let's Encrypt para registros de domínio hospedados no [Edge DNS](/pt-br/documentacao/produtos/secure/edge-dns/) ou no provedor de DNS externo do seu domínio.

Para isso, você terá que preparar seu servidor DNS e criar registros para que a Azion possa criar e gerenciar seu certificado Let's Encrypt.

:::note 
Existe também a possibilidade de [criar um certificado Let's Encrypt via Azion CLI](/pt-br/documentacao/devtools/cli/create/#digital-certificate-id).
:::

### Opção 1: Prepare a entrada de DNS no Azion Edge DNS

A Azion permite que você hospede zonas DNS redirecionando a resolução DNS de um domínio para o **Edge DNS**. Ao usar o Edge DNS, todas as configurações necessárias são feitas através da interface da Azion.

Para criar uma zona DNS para um registro de domínio `www.seudominio.org` no **Edge DNS**:

1. Acesse o [Azion Console](/pt-br/documentacao/produtos/guias/como-acessar-o-azion-console/) > **Edge DNS**.
2. Se você não tiver uma zona ativa, clique no botão **+ Zone**.
3. Dê um nome fácil de lembrar à sua zona.
4. Indique o FQDN conforme registrado no DNS. Exemplo: `seudominio.org`.
5. Clique no botão **Save**.

:::tip
Para obter mais informações sobre como redirecionar os servidores DNS autorizados do seu domínio, consulte a documentação do [Edge DNS](/pt-br/documentacao/produtos/secure/edge-dns/).
:::

Depois que sua resolução de DNS for redirecionada com sucesso e estiver hospedada no Edge DNS, você poderá criar um novo *registro CNAME* para o domínio seguindo as etapas:

1. Ainda na página do **Edge DNS**, selecione a zona desejada.
2. Navegue até a aba **Records**.
3. Clique no botão **+ Record**.
4. Em **Name**, crie um *hostname* ou subdomínio.
5. Em **Record Type**, selecione **CNAME - Canonical name**.
6. Em **Value**, insira o endereço de domínio fornecido pela Azion no formato FQDN. Exemplo: `xxxxxxxxxx.map.azionedge.net`
   - Se você não tiver um domínio, vá para a seção [Criar um domínio](#crie-um-dominio) para obter mais informações.
7. Defina o **TTL** e **Policy** conforme desejado.
8. Clique no botão **Save**.

Se a entrada **CNAME** listada em seu domínio Azion tiver sido criada em sua zona do **Edge DNS**, a Azion verificará automaticamente a autenticidade do domínio e o certificado Let's Encrypt ficará ativo. Vá para a seção [Verificar o status dos certificados Let's Encrypt](#verificar-o-status-do-certificado-lets-encrypt) para obter mais informações sobre os status dos certificados.

### Opção 2: Prepare a entrada de DNS com um provedor de DNS externo

Se você tiver um domínio registrado em uma zona DNS externa, a Azion verificará a autenticidade do domínio em um provedor DNS externo, concluindo o método Let's Encrypt chamado [DNS-01 ACME client challenge](https://letsencrypt.org/docs/challenge-types/#dns-01-challenge) para emitir o certificado.

:::note
Se você já tiver uma zona no **Edge DNS**, o desafio DNS-01 será concluído automaticamente.
:::

Para permitir que o desafio DNS-01 ocorra:

1. Acesse o site do seu provedor de DNS.
2. Navegue até a área de gerenciamento de DNS.
3. Crie um **registro CNAME** para cada domínio que você deseja usar com o certificado. Certifique-se de que esse **registro CNAME** corresponda ao valor que você vai inserir no campo **CNAME** ao criar seu domínio na Azion. Por exemplo: `www.seudominio.org`.
4. Adicione um novo registro ao seu domínio da seguinte forma:

| Nome | Valor | Tipo |
| --- | --- | --- |
| `_acme-challenge.<seu domínio>` <br /><br />Exemplo:<br />`_acme-challenge.www.seudominio.org` | `<seu domínio>.letsencrypt.azion.com` <br /><br />Exemplo:<br />`www.seudominio.org.letsencrypt.azion.com` | CNAME |

5. Repita as etapas 3 e 4 para cada CNAME que você pretende adicionar ao seu **Domain**.
6. Salve suas alterações.

Agora que o desafio pode acontecer, o próximo passo é criar um domínio na Azion.

---

## Configurando um domínio

Abaixo estãos os passos para adicionar um certificado para sua aplicação. Há instruções separadas para as configurações do [Domains legado](/pt-br/documentacao/produtos/build/applications/domains/) e para o novo produto [Workloads](/pt-br/documentacao/produtos/secure/workloads).

:::tip[Dica]
Se você não tem certeza de quais passos se aplicam à sua conta, consulte [o guia Verifique a migração da sua conta para a API v4](/pt-br/documentacao/produtos/guias/verificar-migracao-conta/) para determinar se sua conta já foi migrada.
:::

<Tabs client:visible>
<Fragment slot="tab.consoleworkloads">Console - Workloads</Fragment>
<Fragment slot="tab.consoledomain">Console - Domains</Fragment>

<Fragment slot="panel.consoleworkloads">

Para criar um **Workload**, você deve primeiro ter uma application. Se você ainda não criou uma application, vá para a [documentação sobre como criar uma aplicação](/pt-br/documentacao/produtos/guias/build/criar-uma-aplicacao/).

1. Acesse o [Azion Console](/pt-br/documentacao/produtos/guias/como-acessar-o-azion-console/) > **Workloads**.
2. Clique no botão **+ Workload**.
3. Nomeie seu domínio. Exemplo: `Domain`.
4. Nos campos **Subdomain** e **Domain**, adicione o FQDN do domínio que você criou nas seções anteriores. Exemplo: `www.yourdomain.org`.
5. Em **Applications**, selecione a aplicação que você criou.
6. Em **Digital Certificate**, selecione a opção **Let's Encrypt**.
7. Clique no botão **Save**.

:::note
O certificado será emitido utilizando o método de validação **DNS-01**. Para domínios hospedados no Edge DNS, a validação é automática. Para domínios em provedores DNS externos, certifique-se de que o registro CNAME `_acme-challenge` está configurado corretamente.
:::

</Fragment>

<Fragment slot="panel.consoledomain">

Para criar um domínio no **Domain** da Azion, você deve primeiro ter uma application. Se você ainda não criou uma application, vá para a [documentação sobre criar uma aplicação](/pt-br/documentacao/produtos/guias/build/criar-uma-aplicacao/).

Depois de ter uma application, você precisa [criar um domínio](/pt-br/documentacao/produtos/build/applications/domains/) e listar os CNAMEs que deseja proteger com o certificado Let's Encrypt. Para fazer isso, siga os passos:

1. Acesse o [Azion Console](/pt-br/documentacao/produtos/guias/como-acessar-o-azion-console/) > **Domains**.
2. Clique no botão **+ Domain**.
3. Dê um nome a seu domínio. Exemplo: `Domínio`.
4. Em **Applications**, selecione a aplicação que você criou.
5. Em **CNAME**, adicione o FQDN do domínio que você criou nas seções anteriores. Exemplo: `www.seudominio.org`
6. Em **Digital Certificate**, selecione a opção **Let's Encrypt**.
7. Clique no botão **Save**.

:::note
O certificado será emitido utilizando o método de validação **DNS-01**. Para domínios hospedados no Edge DNS, a validação é automática. Para domínios em provedores DNS externos, certifique-se de que o registro CNAME `_acme-challenge` está configurado corretamente.
:::

</Fragment>
</Tabs>

---

## Verifique o status do certificado Let's Encrypt

Você pode verificar o status do seu certificado TLS Let's Encrypt seguindo os passos:

<Tabs client:visible>
    <Fragment slot="tab.console">Console</Fragment>
    <Fragment slot="tab.api">API</Fragment>

<Fragment slot="panel.console">

1. Acesse o [Azion Console](/pt-br/documentacao/produtos/guias/como-acessar-o-azion-console/) > **Certificate Manager**.
2. Na sua lista de certificados digitais, você verá uma nova entrada no formato `Domínio - Let's Encrypt <timestamp>`.

O status à direita da lista mostra se o certificado foi emitido. Um certificado com o status **Active** foi verificado e emitido com sucesso. O status **Pending** significa que o certificado ainda está sendo verificado no gerenciador interno de certificados da Azion.
</Fragment>

<Fragment slot="panel.api">

Você pode usar o seguinte `GET` request:

<Code lang="bash" code={`curl --request GET \
  --url https://api.azion.com/v4/digital_certificates/certificates \
  --header 'Accept: application/json' \
  --header 'Authorization: Token [PERSONAL TOKEN]'`}/>

O campo `status` mostra se o certificado foi emitido. Um certificado com o status **Active** foi verificado e emitido com sucesso. O status **Pending** significa que o certificado ainda está sendo verificado no gerenciador interno de certificados da Azion.

</Fragment>
</Tabs>

:::note
Se o status **Pending** permanecer por mais de 48 horas, você deve verificar se os registros CNAME listados na seção [Criar um domínio](#criar-um-dominio) estão corretos.
:::

:::tip[Dica]
Para mais informações sobre a emissão de certificados Let's Encrypt, visite a [página de referência Certificate Manager para Secure](/pt-br/documentacao/produtos/secure/firewall/certificate-manager/#certificado-lets-encrypt).
:::

---

## Gerencie um certificado Let's Encrypt

Uma vez que o certificado passa pela validação DNS, não será necessário renová-lo manualmente após o vencimento, que ocorre após 90 dias. A desativação ocorrerá apenas se o certificado for excluído ou se o domínio associado for removido da Azion.
Além disso, os certificados Let's Encrypt gerenciados automaticamente pela Azion são renovados 30 dias antes da data de vencimento, garantindo a disponibilidade contínua do serviço e mantendo a segurança de suas aplicações. 

:::tip
Para garantir que o certificado seja renovado para domínios hospedados em serviços externos, **não exclua a entrada de desafio DNS** que você criou na seção [Opção 2: Preparar a entrada de DNS com um provedor de DNS externo](#opcao-2-preparar-a-entrada-de-dns-com-um-provedor-de-dns-externo).
:::

---

## Aponte seu tráfego para a Azion

Abaixo estãos os passos para apontar o seu tráfego para a Azion. Há instruções separadas para as configurações do [Domains legado](/pt-br/documentacao/produtos/build/applications/domains/) e para o novo produto [Workloads](/pt-br/documentacao/produtos/secure/workloads).

:::tip[Dica]
Se você não tem certeza de quais passos se aplicam à sua conta, consulte [o guia Verifique a migração da sua conta para a API v4](/pt-br/documentacao/produtos/guias/verificar-migracao-conta/) para determinar se sua conta já foi migrada.
:::


<Tabs client:visible>
<Fragment slot="tab.consoleworkloads">Console - Workloads</Fragment>
<Fragment slot="tab.consoledomain">Console - Domains</Fragment>

<Fragment slot="panel.consoleworkloads">


Depois de ter um certificado Let's Encrypt ativo, você pode apontar seu tráfego para a Azion associando seu Workload Domain fornecido pela Azion (`xxxxxxxxxx.map.azionedge.net`) ao registrar o CNAME do seu domínio. Para fazer isso:


1. Acesse o [Azion Console](/pt-br/documentacao/produtos/guias/como-acessar-o-azion-console/) > **Workloads**.
2. Na lista de **Workloads**, copie o endereço do Workload Domain que você deseja associar ao domínio externo, que deve estar no formato `xxxxxxxxxx.map.azionedge.net`.
3. Em outra guia do navegador, acesse seu provedor de DNS.
4. Navegue até a área de gerenciamento de DNS.
5. Edite o registro CNAME de domínio que você associou ao certificado Let's Encrypt da seguinte forma:

| Nome | Valor | Tipo |
| --- | --- | --- |
| `www.seudominio.org` | `xxxxxxxxxx.map.azionedge.net` | CNAME |

6. Salve suas alterações.

Pode haver um atraso no tempo de propagação quando você acessa seu aplicativo. Se esse for o caso, você pode [executar o comando DIG](/pt-br/documentacao/produtos/guias/executar-o-comando-dig/) no seu terminal para verificar se o seu domínio está apontando para o endereço Azion.

</Fragment>

<Fragment slot="panel.consoledomain">

Depois de ter um certificado Let's Encrypt ativo, você pode apontar seu tráfego para o Azion associando seu domínio fornecido pela Azion (`xxxxxxxxxx.map.azionedge.net`) ao registro CNAME do seu domínio. Para fazer isso:


1. Acesse o [Azion Console](/pt-br/documentacao/produtos/guias/como-acessar-o-azion-console/) > **Domains**.
2. Na lista de **Domains**, copie o endereço de domínio fornecido pela Azion que você deseja associar ao domínio externo, que deve estar no formato `xxxxxxxxxx.map.azionedge.net`.
3. Em outra guia do navegador, acesse seu provedor de DNS.
4. Navegue até a área de gerenciamento de DNS.
5. Edite o registro CNAME de domínio que você associou ao certificado Let's Encrypt da seguinte forma:

| Nome | Valor | Tipo |
| --- | --- | --- |
| `www.seudominio.org` | `xxxxxxxxxx.map.azionedge.net` | CNAME |

6. Salve suas alterações.

Pode haver um atraso no tempo de propagação quando você acessa seu aplicativo. Se esse for o caso, você pode [executar o comando DIG](/pt-br/documentacao/produtos/guias/executar-o-comando-dig/) no seu terminal para verificar se o seu domínio está apontando para o endereço Azion.

</Fragment>
</Tabs>

---