31.01.2025

Como configurar o Let's Encrypt SSL com o Nginx no CentOS 8

Neste tutorial, mostraremos como fornecer uma conexão HTTPS criptografada para o nosso site no servidor da Web Nginx usando um certificado SSL Let's Encrypt gratuito. Condições necessárias:

Instalando e configurando o snapd

É melhor usar o snapd para instalar e manter o Certbot. Dessa forma, ele será sempre atualizado e a renovação automática de certificados será pré-configurada. Para instalar o snapd, use os seguintes comandos:

dnf install epel-release; dnf install snapd

Habilite e inicie o snapd.

systemctl enable --now snapd.socket

Habilite o suporte ao snap clássico.
[/passo]

ln -s /var/lib/snapd/snap /snap

Agora reinicie o sistema.
[/passo]

reboot

Verifique se a versão mais recente do snapd está instalada.

snap install core; snap refresh core

Instalação do pacote Certbot

Antes de instalar o pacote Certbot do snap, você deve ter certeza de que não há outro Certbot instalado no sistema.

dnf remove certbot

Agora, instale o Certbot a partir do snap.

snap install --classic certbot

Execute o seguinte comando para ter certeza de que o Certbot será iniciado.

ln -s /snap/bin/certbot /usr/bin/certbot

Obtenção e instalação automáticas do certificado Let's Encrypt SSL no Nginx

Recomendamos configurar o host virtual Nginx adicionando sua configuração à pasta /etc/nginx/conf.d/ com a extensão .conf. Se isso não for feito, a configuração HTTPS do domínio será adicionada ao arquivo nginx.conf. Execute o próximo comando para iniciar o processo de aquisição do certificado e siga as instruções.

certbot --nginx

Depois que o processo for concluído com êxito, reinicie o Nginx.

systemctl restart nginx

O redirecionamento de HTTP para HTTPS foi configurado automaticamente. Agora você pode verificar o resultado acessando o nome do domínio na barra de endereços do seu navegador.

Renovação automática do certificado SSL

A renovação automática do certificado SSL é configurada durante a instalação do Certbot a partir do snap. Você pode verificar se o cronômetro está em execução usando este comando:

systemctl list-timers | grep certbot

Se não houver saída, tente estes locais:

cat /etc/crontab
cat /etc/cron.*/*

Você também pode executar um teste de renovação automática de seus certificados:

certbot renew --dry-run