Como instalo um certificado SSL Let's Encrypt padrão em uma instância do Lightsail?

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

Como instalo um certificado SSL padrão para meu site hospedado em uma instância do Amazon Lightsail que não usa uma pilha Bitnami?

Descrição breve

A resolução a seguir aborda a instalação de um certificado SSL Let's Encrypt padrão 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 (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?

Para obter informações sobre como instalar um certificado Let's Encrypt 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 curinga no Amazon Lightsail?

Resolução

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 certificado e configurar o redirecionamento HTTPS.
  • Verifique se o domínio está apontando para a instância do Lightsail diretamente ou por meio de um balanceador de carga ou distribuição. Para concluir a verificação do certificado, verifique se o URL do site não retorna erros do balanceador de carga ou da distribuição no navegador da Web.

Observação: esse método requer primeiramente a instalação da ferramenta Certbot. 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.    Interrompa o serviço da Web em execução na instância. Veja a seguir exemplos de comandos para diferentes distribuições Linux:

Serviço da Web Apache em distribuições Linux, como Amazon Linux 2, CentOS e assim por diante

sudo service httpd stop

Serviço da Web Apache em distribuições Linux, como Ubuntu, Debian e assim por diante

sudo service apache2 stop

Serviço da Web NGINX

sudo service nginx stop

2.    Execute o seguinte comando para instalar o certificado SSL. Não esqueça de substituir example.com pelo seu nome de domínio.

sudo certbot certonly --standalone -d example.com -d www.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 5.

3.    Inicie o serviço da Web. Veja a seguir exemplos de comandos para diferentes distribuições Linux:

Serviço da Web Apache em distribuições Linux, como Amazon Linux 2, CentOS e assim por diante

sudo service httpd start

Serviço da Web Apache em distribuições Linux, como Ubuntu, Debian e assim por diante

sudo service apache2 start

Serviço da Web NGINX

sudo service nginx start

4.    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. No entanto, como é necessário interromper o serviço da Web antes de executar o comando Certbot, você deve automatizar a interrupção e a inicialização do serviço da Web. Para configurar essa automação, execute os seguintes comandos. O exemplo a seguir usa Apache2 como o serviço da Web. Substitua o código e o comando de interrupção/inicialização de acordo com o serviço da Web.

sudo sh -c 'printf "#!/bin/sh\n service apache2 stop \n" > /etc/letsencrypt/renewal-hooks/pre/webservice.sh'
sudo sh -c 'printf "#!/bin/sh\n service apache2 start \n" > /etc/letsencrypt/renewal-hooks/post/webservice.sh'
sudo chmod 755 /etc/letsencrypt/renewal-hooks/*/webservice.sh

Se a distribuição Linux for o 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. O exemplo a seguir usa Apache2 como o serviço da Web. Substitua o código e o comando de interrupção/inicialização de acordo com o serviço da Web.

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

5.     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 oficial de acordo com 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?