LetsEncrypt é um serviço que fornece aos usuários certificados SSL / TLS gratuitos. O Certbot é um cliente que facilita a realização e a automação. Além disso, possui plugins para Apache e Nginx que facilitam ainda mais a automação da geração de certificados.
As instruções de instalação para a maioria das distribuições Linux podem ser encontradas no site da Certbot.
Após a instalação dos pacotes, você estará pronto para gerar um novo certificado.
Apache
Após a instalação do Certbot e do plug-in Apache, a geração do certificado é feita com o seguinte comando.
certbot certonly --apache --noninteractive --agree-tos --email YOUR_EMAIL -d DOMAIN_NAME
Atualize as seções "SSLCertificateFile" e "SSLCertificateKeyFile" e, em seguida, reinicie o serviço.
Adicione um trabalho ao cron para que o certificado seja renovado automaticamente.
echo "0 0 * * * root certbot renew --quiet --no-self-upgrade --post-hook $0027systemctl reload apache2$0027" | sudo tee -a /etc/cron.d/renew_certbot
HAProxy
Atualmente, o HAProxy não possui um plug-in Certbot. Para evitar isso, execute o Certbot no modo autônomo e o tráfego proxy através da sua rede.
Habilite o front-end e o back-end na configuração acima e execute o Certbot.
certbot certonly --standalone --preferred-challenge http-01 --http-01-port 8888 --noninteractive --agree-tos --email YOUR_EMAIL -d DOMAIN_NAME
A porta pode ser alterada para o que você quiser, mas verifique se as configurações de HAProxy e seu comando Certbot correspondem.
O HAProxy precisa ter o certificado e os arquivos de chave concatenados no mesmo arquivo para lê-lo corretamente. Isso pode ser realizado com o seguinte comando.
cat /etc/letsencrypt/live/domain_name/fullchain.pem /etc/letsencrypt/live/domain_name/privkey.pemDivida a ligação *: 443 e a seção de redirecionamento nas configurações e recarregue o serviço.
Renovação automática de certificados
Coloque o seguinte script em / usr / local / bin / para atualizar automaticamente seu certificado SSL.
SITE = DOMAIN_NAME#, passe para o correto, criptografaremos os arquivos cat do diretóriocd / etc / letsencrypt / live / $SITIO# para fazer o .pem combinado para haproxycat fullchain.pem privkey.pem> /etc/ssl/$SITIO.pem1TPxer reloadVerifique se o script é executável.
chmod u + x /usr/local/bin/letsencrypt-renew.shAdicione um trabalho ao cron para que o certificado seja renovado automaticamente.
@mensual / usr / bin / certbot renew --renew-hook "/usr/local/bin/letsencrypt-renew.sh"; /var/log/letsencrypt-renewal.logNginx
Após instalar o Certbot e o plug-in Nginx com o sudo para instalar o certbot python3-certbot-nginx, gere o certificado.
sudo certbot --nginx - concordar-tos --redirecionar --hsts --taple-ocsp --e-mail YOUR_EMAIL -d YOUR_DOMAINAdicione o parâmetro --rsa-key-size 4096 se desejar uma chave de 4096 bits.
Copie e cole todo o arquivo de configuração de amostra do Nginx acima, alterando os parâmetros de acordo com a sua configuração e descomentando as linhas.
Adicione um trabalho ao cron para que o certificado seja renovado automaticamente.
echo "0 0 * * * root certbot renew --quiet --no-self-upgrade --post-hook $0027systemctl reload nginx$0027" | sudo tee -a /etc/cron.d/renew_certbot