Quero instalar um certificado SSL padrão para meu site hospedado em uma instância do Amazon Lightsail que não usa uma pilha Bitnami.
Resolução
Observação: antes de instalar o certificado SSL padrão do Let's Encrypt em sua instância do Lightsail que não usa uma pilha Bitnami, instale o pacote Certbot.
O domínio deve apontar diretamente para a instância do Lightsail, por meio de um balanceador de carga ou da distribuição. Para que a verificação do certificado seja concluída, o URL do site não deve retornar erros do balanceador de carga ou da distribuição no navegador da Web.
Para instalar o certificado SSL padrão da Let's Encrypt, conclua as etapas a seguir:
-
Execute o comando de sua distribuição Linux para interromper o serviço da Web que é executado na sua instância:
Apache, como o Amazon Linux2 ou o CentOS
sudo service httpd stop
Apache, como o Ubuntu ou o Debian
sudo service apache2 stop
NGINX
sudo service nginx stop
-
Execute o seguinte comando para instalar o certificado SSL:
sudo certbot certonly --standalone -d example.com -d www.example.com
Observação: substitua www.example.com pelo seu nome de domínio.
Depois que o Certbot gerar o certificado SSL, você receberá a mensagem Successfully received certificate. Os locais do certificado e do arquivo de chave também são fornecidos. Copie esses locais de arquivo em um arquivo de texto para usar na etapa 5.
-
Execute o comando de sua distribuição Linux para iniciar o serviço da Web:
Apache, como o Amazon Linux 2 ou o CentOS
sudo service httpd start
Apache, como o Ubuntu ou o Debian
sudo service apache2 start
NGINX
sudo service nginx start
-
Configure a renovação automática do certificado.
Se você tiver usado o snapd para instalar o pacote Certbot, a renovação será automaticamente configurada nos cronômetros ou cronjobs do systemd. No entanto, antes de executar o comando Certbot, você deve interromper o serviço Web. Para parar o serviço Web e iniciá-lo novamente, você deve automatizar o processo de parada e início. Para configurar a automação, execute os seguintes comandos:
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
Observação: substitua service apache2 pelo seu serviço Web e pelos comandos de início e parada específicos do seu serviço Web.
Se a distribuição do Linux for Amazon Linux 2 ou FreeBSD, você não poderá usar snapd para instalar o pacote Certbot. Para configurar manualmente a renovação, execute o seguinte comando:
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
Observação: substitua service apache2 pelo seu serviço Web e pelos comandos stop e start específicos do seu serviço Web.
-
Configure seu servidor Web para usar o certificado SSL padrão Let's Encrypt e configure o redirecionamento HTTPS.
Observação: a configuração depende da configuração do servidor Web que você tem em sua instância. Para configurar seu servidor Web, consulte a documentação oficial de seu serviço Web.
Informações relacionadas
Como faço para instalar um certificado SSL Let's Encrypt em uma pilha Bitnami hospedada no Lightsail?
Como instalo um certificado SSL Let's Encrypt curinga em uma pilha Bitnami hospedada no Amazon Lightsail?
Como instalo um certificado SSL Let's Encrypt curinga no Amazon Lightsail?