Como instalar certificado SSL grátis para Nginx no Debian 10
Ao configurar um site, uma das principais considerações que você deve ter em mente é a segurança do seu site. Um certificado SSL é um certificado digital que criptografa os dados enviados do navegador de um usuário para um servidor web. Dessa forma, os dados enviados são confidenciais e protegidos contra hackers que usam farejadores de pacotes como o Wireshark para interceptar e espionar sua comunicação.
Um site criptografado tem um símbolo de cadeado na barra de URL seguido pela sigla https conforme mostrado na captura de tela a seguir.
Um site não criptografado geralmente tem uma notificação “Não seguro” na barra de URL.
Pré-requisitos
Antes de começarmos, certifique-se de que os seguintes requisitos foram atendidos:
- Uma instância em execução do Debian 10 Minimal Server.
- Uma instância em execução do Nginx Web Server com configuração de domínio no Debian 10.
- Um Nome de Domínio Totalmente Qualificado (FQDN) com o registro
A
apontando para o endereço IP do Debian 10 no seu provedor de domínio.
Para este tutorial, linux-console.net
apontou para o endereço IP 192.168.0.104.
Neste artigo, examinamos como você pode instalar o Let's Encrypt SSL no Debian 10 para obter um Certificado SSL Gratuito para o Nginx. forte> site hospedado.
O que é vamos criptografar SSL
Let’s Encrypt SSL é um certificado gratuito da EFF (Electronic Frontier Foundation) válido por 3 meses e renovado automaticamente após expirar. É uma maneira fácil e barata de criptografar seu site se você tiver pouco dinheiro.
Sem mais delongas, vamos nos aprofundar e instalar o Let’s Encrypt no servidor web Nginx:
Etapa 1: Instale o Certbot no Debian 10
Para começar precisamos instalar o Certbot – é um software que busca o certificado digital Let’s encrypt e posteriormente o implanta em um servidor web. Para fazer isso, precisamos instalar o pacote python3-certbot-nginx. Mas antes de fazermos isso, vamos primeiro atualizar os pacotes do sistema.
sudo apt update
A próxima etapa é instalar as dependências exigidas pelo pacote python3-certbot-nginx.
sudo apt install python3-acme python3-certbot python3-mock python3-openssl python3-pkg-resources python3-pyparsing python3-zope.interface
Agora vamos instalar o pacote python3-certbot-nginx.
sudo apt install python3-certbot-nginx
Etapa 2. Verificando a configuração do bloco do servidor Nginx
Para que o certbot implante automaticamente o certificado Let’s encrypt SSL no servidor web Nginx, um bloco de servidor precisa ser configurado. Abordamos a configuração de blocos de servidor Nginx na última seção do artigo anterior.
Se você seguiu atentamente, deverá ter um bloco de servidor em /etc/nginx/sites-available/some_domain. No nosso caso, o bloco do servidor Nginx será
/etc/nginx/sites-available/linux-console.net
Além disso, certifique-se de que a diretiva server_name corresponda ao seu nome de domínio.
server_name linux-console.net linux-console.net;
Para confirmar se todas as configurações do Nginx estão corretas, execute:
sudo nginx -t
A saída acima indica que está tudo bem.
Etapa 3: configurar o firewall para abrir a porta HTTPS
Caso você tenha o ufw configurado e habilitado, como sempre é recomendado, precisamos permitir o protocolo HTTPS através do firewall para que o servidor web fique acessível a todos.
sudo ufw allow 'Nginx Full'
Em seguida, recarregue o firewall para efetuar as alterações.
sudo ufw reload
Para verificar se permitimos o protocolo através do firewall.
sudo ufw status
Etapa 4: implantando o certificado SSL Let's Encrypt para domínio
Com todas as configurações sob controle, é hora de buscar e implantar o certificado Let’s Encrypt SSL no site do domínio.
sudo certbot --nginx -d domain-name -d www.domain-name.com
No nosso caso, teremos
sudo certbot --nginx -d linux-console.net -d linux-console.net
Na primeira etapa, você será solicitado a inserir seu endereço de e-mail. Digite seu endereço e pressione Enter.
Em seguida, você será solicitado a concordar com os termos de serviço. Digite A para continuar.
O Certbot solicitará seu consentimento para usar seu e-mail para enviar notificações sobre os últimos desenvolvimentos em EFF. Aqui, você pode optar por participar ou não. Para aceitar, digite Y (Sim) e pressione Enter. Para recusar a participação, clique em N (Não).
O Certbot entrará em contato com Let’s encrypt, fará o download do certificado SSL e o implantará no bloco de servidor Nginx que você já criou.
Na próxima seção, digite 2
para redirecionar o tráfego HTTP normal para HTTPS.
O certificado será implantado em seu servidor Nginx e você receberá uma notificação de parabéns para confirmar que seu servidor Web agora está criptografado usando Let’s Encrypt SSL.
Etapa 5: verifique HTTPS no site Nginx
Para verificar as alterações por meio de um navegador da web, atualize a guia do navegador e observe o símbolo do cadeado.
Clique no ícone de cadeado e selecione a opção ‘Certificado’ para visualizar os detalhes do certificado SSL.
Todos os detalhes do certificado serão exibidos.
Você pode verificar ainda mais o status do seu servidor web testando o URL do seu site em https://www.ssllabs.com/ssltest/. Se o servidor da Web estiver criptografado usando um certificado SSL, você receberá uma pontuação A conforme mostrado.
Conclusão
Chegamos ao final deste tutorial. No guia, você aprendeu como instalar um certificado SSL gratuito para Nginx no Debian 10.