Você sabia que pode configurar rapidamente seus certificados Let’s Encrypt para se renovarem automaticamente executando um simples script de renovação automática letsencrypt?
Configurando a renovação automática para você Certificados SSL Let’s Encrypt significa que seu site sempre terá um certificado SSL válido.
Neste tutorial para iniciantes, você aprenderá como configurar seus certificados Let’s Encrypt SSL para se renovarem automaticamente antes da data de expiração.
Antes de começar este tutorial, você já deve ter configurado os certificados Let’s Encrypt SSL para um servidor Apache no mecanismo de computação do Google Cloud.
Se você ainda não configurou o SSL do seu site, aqui está o tutorial para as configurações do servidor Click-to-deploy (Padrão Apache) e Bitnami (Papache personalizado).
Existem 6 etapas neste tutorial:
- 1. Localize o pacote Certbot-Auto
- 2. Mova o pacote Certbot-Auto
- 3. Editar arquivo Crontab
- 4. Configure o script de renovação automática
- 5. Teste básico de renovação automática
- 6. Renovação automática avançada (opcional)
1. Localize o pacote Certbot-Auto
Para aqueles que configuraram o SSL usando os tutoriais Click-to-deploy e Bitnami SSL, seu pacote certbot-auto foi baixado para seu diretório pessoal. Você pode visualizar o pacote simplesmente executando o comando ls .
Para aqueles que baixaram o pacote certbot-auto para um diretório diferente, é importante localizá-lo. Se você não conseguir encontrar o pacote certbot-auto, poderá baixar novamente o pacote executando o seguinte comando:
wget https://dl.eff.org/certbot-auto && chmod a+x certbot-auto
2. Mova o pacote Certbot-Auto
Depois de estabelecer a localização do seu pacote Cerbot-Auto, a próxima etapa é mover o pacote certbot-auto para o diretório /etc/letsencrypt/ .
Portanto, para usuários que seguiram os tutoriais Click-to-deploy ou Bitnami mencionados acima , seu comando seria:
sudo mv certbot-auto /etc/letsencrypt/
3. Editar arquivo Crontab
Agora que você moveu seu pacote certbot-Auto para o diretório /etc/letsencrypt/, a próxima etapa é abrir seu arquivo crontab.
Para abrir seu arquivo crontab, execute o seguinte comando:
sudo crontab -e
4. Configure o script de renovação automática
Agora que você abriu seu arquivo crontab, a próxima etapa é adicionar um script na parte inferior do arquivo crontab que será executado uma vez por semana e renovará automaticamente os certificados SSL se eles estiverem prestes a expirar.
Para usuários do Apache Click-to-deploy ou padrão, adicione o seguinte script:
45 2 * * 6 cd /etc/letsencrypt/ && ./certbot-auto renew && /etc/init.d/apache2 restart
Para usuários do Bitnami , adicione o seguinte script:
45 2 * * 6 cd /etc/letsencrypt/ && ./certbot-auto renew && /opt/bitnami/ctlscript.sh restart
5. Teste básico de renovação automática
Para testar se há erros no script de renovação automática, você pode executar rapidamente um ‘dry run’ – um processo no qual o script de renovação automática será executado sem realmente renovar os certificados. Para executar um ‘dry run’, execute os dois comandos a seguir:
Para usuários Apache padrão ou Click-to-deploy :
sudo -i
cd /etc/letsencrypt/ && ./certbot-auto renew --dry-run && /etc/init.d/apache2 restart
Para usuários do Bitnami :
sudo -i
cd /etc/letsencrypt/ && ./certbot-auto renew --dry-run && /opt/bitnami/ctlscript.sh restart
Parabéns! Você configurou com sucesso seus certificados Let’s Encrypt SSL para renovação automática antes da expiração.
Se você quiser testar o processo de renovação, passe para a próxima etapa (opcional). Como o script renovará os certificados um mês antes da expiração, você pode usar um verificador SSL para verificar se os certificados foram renovados com sucesso.
6. Teste avançado de renovação automática
Nesta seção de teste avançado do tutorial, você aprenderá como usar o comando –force-renew para simular a renovação do certificado em um ambiente ativo.
Para começar, verifique a data e hora atuais em seu servidor. Para fazer isso, execute o comando date .
Anote a data e a hora – cole-a no bloco de notas ou anote-a em um pedaço de papel. Com base no exemplo acima, eu escreveria 18:56:54
6.1 Verifique a data de validade atual
Agora que você registrou a data e hora atuais do seu sistema, a próxima etapa é verificar quando seu certificado está definido para expirar. Para fazer isso, execute o seguinte comando:
openssl x509 -noout -dates -in /etc/letsencrypt/live/example.com/cert.pem
Observação: certifique-se de substituir example.com pelo seu próprio nome de domínio.
Anote a data e a hora em que o certificado foi emitido – cole-o em um bloco de notas ou anote-o em um pedaço de papel.
Com base no exemplo acima, eu escreveria 13:34:41
6.2 Forçar script Crontab
Execute o comando sudo crontab -e para reabrir seu arquivo crontab.
Neste exemplo, o carimbo de data e hora da minha máquina virtual mostrou 18:56:54 . Portanto, gostaria que o script de renovação automática fosse executado alguns minutos antes das 18:56:54 às 18:59:00 .
Para usuários Apache padrão ou Click-to-deploy :
59 18 * * * cd /etc/letsencrypt/ && ./certbot-auto renew --force-renew && /etc/init.d/apache2 restart
Para usuários do Bitnami :
59 18 * * * cd /etc/letsencrypt/ && ./certbot-auto renew --force-renew && /opt/bitnami/ctlscript.sh restart
Depois que o tempo na frente do script tiver passado ( 18:59 neste exemplo), verifique o log do sistema para verificar se o script foi executado com êxito.
Para verificar o log do sistema, navegue até o diretório de log executando cd /var/log/ .
Em seguida, imprima o log do sistema na tela executando o comando cat syslog .
6.3 Verifique se a renovação foi bem-sucedida
Para verificar se a renovação foi bem-sucedida, navegue de volta ao seu diretório inicial executando cd e, em seguida, execute o seguinte comando, certificando-se de substituir example.com pelo seu próprio nome de domínio.
openssl x509 -noout -dates -in /etc/letsencrypt/live/example.com/cert.pem
Também é uma boa ideia verificar novamente com um verificador de certificado SSL on-line para garantir que seus certificados renovados sejam reconhecidos.
6.4 Reverter o script crontab para o padrão
Agora que o teste foi concluído, lembre-se de alterar seu script crontab de volta para o padrão da etapa 4 deste tutorial!