Como instalo um certificado SSL Let's Encrypt curinga no Amazon Lightsail?

Última atualização: 2021-10-20

Como instalo um certificado SSL curinga para meu site em uma instância do Amazon Lightsail?

Breve descrição

A resolução a seguir aborda a instalação de um certificado SSL Let's Encrypt curinga para sites hospedados em instâncias do Lightsail que não usam uma pilha Bitnami. Alguns exemplos desses blueprints de instância incluem Amazon Linux 2, Ubuntu e assim por diante. Se tiver um blueprint de instância diferente ou quiser instalar um certificado padrão, consulte um dos seguintes procedimentos:

Certificados Let's Encrypt padrão

Para obter informações sobre como instalar um certificado SSL Let's Encrypt padrão (não um curinga) em uma instância do Lightsail que não usa uma pilha Bitnami, como Amazon Linux 2, Ubuntu e assim por diante, consulte Como instalo um certificado SSL Let's Encrypt padrão em uma instância do Lightsail?

Para obter informações sobre como instalar um certificado SSL Let's Encrypt padrão (e não um curinga) em uma instância do Lightsail com uma pilha Bitnami, como WordPress, LAMP, Magento e assim por diante, consulte Como instalo um certificado SSL Let's Encrypt padrão em uma pilha Bitnami hospedada no Amazon Lightsail?

Certificados Let's Encrypt curinga (por exemplo, *.example.com)

Para obter informações sobre como instalar um certificado Let's Encrypt curinga em uma instância do Lightsail com uma pilha Bitnami, como WordPress, Lamp, Magento, MEAN e assim por diante, consulte Como instalo um certificado SSL Let's Encrypt curinga em uma pilha Bitnami hospedada no Amazon Lightsail?

Resolução

As etapas usadas para instalar um certificado SSL Let's Encrypt curinga em sua instância do Lightsail dependem de qual provedor de DNS seu domínio usa. Para determinar qual método usar, verifique se seu provedor de DNS está listado na lista de DNS da Cerbot em Plug-ins DNS. Em seguida, selecione o método adequado a ser usado:

Método 1: use esse método se seu domínio usar um dos provedores de DNS listados.

Método 2: use esse método se o seu domínio não estiver usando nenhum dos provedores de DNS listados.

Método 1

Pré-requisitos e limitações

  • As etapas a seguir abordam a instalação do certificado no servidor. É necessário executar manualmente as etapas adicionais, como configurar o servidor Web para usar o certificado e configurar o redirecionamento HTTPS.
  • O domínio deve estar usando um dos provedores de DNS listados na Lista de DNS do Certbot.

Observação: esse método requer a instalação da ferramenta Certbot antes de sua execução. Para as instruções de instalação, consulte Como instalo o pacote Certbot na minha instância do Lightsail para a instalação do Let's Encrypt?

No exemplo a seguir, o provedor de DNS é o Amazon Route 53. Para obter instruções sobre outros provedores de DNS compatíveis, consulte Plug-ins DNS.

1.    Crie um usuário do AWS Identify and Access Management (IAM) com acesso programático. Para obter as permissões mínimas necessárias para vinculação ao usuário do IAM para que o Certbot conclua o desafio de DNS, consulte certbot-dns-route-53.

2.    Execute os seguintes comandos na instância para abrir o arquivo /root/.aws/credentials no editor nano.

sudo mkdir /root/.aws
sudo nano /root/.aws/credentials

3.    Copie as seguintes linhas para o arquivo. Em seguida, salve o arquivo pressionando ctrl+x, depois y e, em seguida, ENTER.

No comando a seguir, substitua aws_access_key_id pelo ID da chave de acesso criado na etapa 1. Substitua aws_secret_access_key pela chave de acesso secreta criada na etapa 1.

[default]
aws_access_key_id = AKIA************E
aws_secret_access_key = 1yop**************************l

4.    Crie um certificado Let's Encrypt no servidor. Substitua example.com por seu nome de domínio.

Se seus domínios usarem o Amazon Route 53 como provedor de DNS, execute o seguinte comando:

sudo certbot certonly --dns-route53 -d example.com -d *.example.com

Depois que o certificado SSL for gerado com êxito, você receberá a mensagem “Certificado recebido com sucesso”. Os locais dos arquivos do certificado e da chave também são fornecidos. Salve esses locais de arquivo em um bloco de notas para uso na etapa 6.

5.    Configure a renovação automática de certificados.

Se o pacote Certbot for instalado usando snapd, a renovação será configurada automaticamente em temporizadores systemd ou cronjobs.

Se a distribuição de SO for Amazon Linux 2 ou FreeBSD, o pacote Certbot não será instalado usando snapd. Nesse caso, é necessário configurar manualmente a renovação executando o seguinte comando:

echo "30 0,12 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew" | sudo tee -a /etc/crontab > /dev/null

6.    Somente a instalação do certificado e a configuração da renovação estão concluídas. Ainda é necessário configurar seu servidor Web para usar esse certificado e configurar o redirecionamento HTTPS. Essa configuração varia e depende da configuração do servidor Web que você tem em sua instância. Consulte a documentação do seu serviço da Web para obter instruções sobre como concluir essas etapas.

Método 2

Pré-requisitos e limitações

  • As etapas a seguir abordam a instalação do certificado no servidor. É necessário executar manualmente as etapas adicionais, como configurar o servidor Web para usar o certificado e configurar o redirecionamento HTTPS.
  • A renovação automática de certificados não é compatível com esse método.

Observação: esse método requer a instalação da ferramenta Certbot antes de sua execução. Para as instruções de instalação, consulte Como instalo o pacote Certbot na minha instância do Lightsail para a instalação do Let's Encrypt?

1.    Este método requer a adição de registros TXT no provedor de DNS do domínio. Esse processo pode levar algum tempo, logo, uma das práticas recomendadas é executar os comandos na Tela GNU do Linux para evitar que a sessão atinja o tempo limite. Para iniciar uma sessão de tela, digite o seguinte comando:

screen -S letsencrypt

2.    Digite o seguinte comando para iniciar o Certbot no modo interativo. Esse comando diz ao Certbot para usar um método de autorização manual com desafios de DNS para verificar a propriedade do domínio. Substitua example.com por seu nome de domínio.

sudo certbot certonly --manual --preferred-challenges dns -d example.com -d *.example.com

3.    Você recebe um aviso para verificar se é o proprietário do domínio especificado adicionando registros TXT aos registros DNS do seu domínio. O Let's Encrypt fornece um ou vários registros TXT que você deve usar para a verificação.

4.    Quando visualizar um registro TXT na tela, primeiramente adicione o registro fornecido ao DNS do seu domínio. NÃO PRESSIONE ENTER até confirmar que o registro TXT foi propagado para o DNS da Internet. Além disso, NÃO PRESSIONE CTRL+D, pois isso encerrará a sessão da tela atual.

5.    Para confirmar se o registro TXT foi propagado para o DNS da Internet, procure em DNS Text Lookup (Pesquisa de texto de DNS). Digite o seguinte texto na caixa de texto e escolha TXT Lookup (Pesquisa TXT) para executar a verificação. Não esqueça de substituir example.com pelo seu domínio.

_acme-challenge.example.com

6.    Se os registros TXT tiverem sido propagados para o DNS da Internet, você verá o valor do registro TXT na página. Agora você pode retornar para a tela e pressionar ENTER.

Observação: se você for removido do shell, use o comando screen -r SESSIONID para retornar. Obtenha o ID da sessão executando o comando screen -ls.

7.    Se o prompt do Certbot solicitar que você adicione outro registro TXT, conclua as etapas 4 a 7 novamente.

8.    Depois que o certificado SSL for gerado com êxito, você receberá a mensagem “Certificado recebido com sucesso”. Os locais dos arquivos do certificado e da chave também são fornecidos. Salve esses locais de arquivo em um bloco de notas para uso na próxima etapa.

9.    Somente a instalação do certificado e a configuração da renovação estão concluídas. Ainda é necessário configurar seu servidor Web para usar esse certificado e configurar o redirecionamento HTTPS. Essa configuração varia e depende da configuração do servidor Web que você tem em sua instância. Consulte a documentação do seu serviço da Web para obter instruções sobre como concluir essas etapas.


Este artigo ajudou?


Precisa de ajuda com faturamento ou suporte técnico?