
Depois de termos visto como instalar e configurar o Nginx como proxy inverso e reforçar a segurança com o Crowdsec, vou explicar-vos, neste tutorial, como gerar um certificado SSL Let’s Encrypt gratuitamente.
Recordo que o Let’s Encrypt é uma autoridade de certificação gratuita, que permite obter certificados SSL com uma validade de 3 meses.
Para o Windows, recomendo a utilização do Certify The Web para a geração de certificados Let’s Encrypt
Para este tutorial, utilizei um servidor com Ubuntu e o Nginx instalado, utilizado como proxy inverso.
Índice
Instalar o Certbot no Ubuntu
Para gerar certificados no Ubuntu (e no Linux em geral), utiliza-se o Certbot.
O Certbot é um programa que se encarrega de realizar as verificações de validação do domínio para obter o certificado SSL e configurar o servidor Web — mais precisamente, o virtualhost —, sendo compatível com vários servidores Web, incluindo o Apache, o Nginx…
O Certbot também se encarregará da renovação automática dos certificados SSL.
Primeiro passo: instalar o Certbot para o Nginx no servidor. Para tal, introduza o comando abaixo:
sudo apt install python3-certbot-nginx -y
O Certbot está instalado; vamos agora passar à geração de um certificado SSL para um virtualhost no Nginx.
Gerar um certificado Let’s Encrypt para o Nginx com o Certbot
Para ilustrar este tutorial, vou utilizar o virtualhost abaixo:

É importante, na configuração do virtualhost, indicar o parâmetro server_name.
Como se pode ver na configuração, o virtualhost está, de momento, configurado na porta 80.
Para iniciar o programa Certbot, utilize o comando abaixo:
sudo certbotNa primeira execução, deve:
- Indicar um endereço de e-mail
- Aceitar o contrato do serviço
- Indicar se pretende partilhar o endereço de e-mail.

A partir daí, eis como se procede quando se pretende gerar um certificado:
A lista de locais é apresentada; introduza o número do local e confirme.

Aguarde enquanto o certificado é solicitado…

Assim que o certificado for gerado, o assistente pergunta se pretende redirecionar http para https; no exemplo, escolho a opção 2.

É exibida uma mensagem de confirmação e recuperamos o controlo da consola.

Se voltarmos a verificar a configuração do virtualhost, podemos ver que a configuração HTTPS está a escutar na porta 443 e que o tráfego na porta 80 é redirecionado (301) para o site em HTTPS.

Renovação automática dos certificados SSL
Por predefinição, o Certbot renova automaticamente o certificado antes do seu vencimento e substitui-o.
Abaixo, pode ver-se a tarefa agendada (cron).

