Tutorial: Como Configurar um Proxy Reverso Seguro no VPS com Nginx ou Traefik

Um proxy reverso é essencial para distribuir tráfego de forma eficiente e melhorar a segurança do servidor. Neste tutorial, veremos como configurar um proxy reverso seguro usando Nginx ou Traefik no seu VPS.


Pré-requisitos

  1. VPS com sistema operacional Linux (Ubuntu/Debian recomendado).
  2. Acesso root ou a um usuário com privilégios sudo.
  3. Nginx ou Traefik instalados.
  4. Nome de domínio configurado apontando para o IP do VPS.
  5. Certificado SSL (podemos usar Let’s Encrypt para segurança adicional).

Passo 1: Instale os Pacotes Necessários

Para Nginx:

sudo apt update
sudo apt install nginx -y

Para Traefik:

Baixe a versão mais recente do Traefik:

sudo apt install -y wget
wget https://github.com/traefik/traefik/releases/latest/download/traefik_linux_amd64
sudo mv traefik_linux_amd64 /usr/local/bin/traefik
sudo chmod +x /usr/local/bin/traefik
Code language: JavaScript (javascript)

Passo 2: Configurar o Proxy Reverso

Opção 1: Nginx

  1. Edite a configuração do Nginx: sudo nano /etc/nginx/sites-available/proxy-reverso
  2. Adicione o seguinte exemplo de configuração: server { listen 80; server_name seu-dominio.com www.seu-dominio.com; location / { proxy_pass http://127.0.0.1:8080; # Backend ou outro serviço proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
  3. Habilite o arquivo de configuração: sudo ln -s /etc/nginx/sites-available/proxy-reverso /etc/nginx/sites-enabled/ sudo nginx -t sudo systemctl restart nginx

Opção 2: Traefik

  1. Crie o arquivo de configuração principal: sudo nano /etc/traefik/traefik.yml
  2. Adicione a configuração básica: entryPoints: web: address: ":80" websecure: address: ":443" providers: file: filename: "/etc/traefik/dynamic.yml" certificatesResolvers: letsencrypt: acme: email: seu-email@dominio.com storage: "acme.json" httpChallenge: entryPoint: web
  3. Configure os serviços (arquivo dinâmico): Crie o arquivo: sudo nano /etc/traefik/dynamic.yml Adicione: http: routers: my-app: rule: "Host(`seu-dominio.com`)" entryPoints: - websecure service: my-app tls: certResolver: letsencrypt services: my-app: loadBalancer: servers: - url: "http://127.0.0.1:8080"
  4. Inicie o Traefik: sudo traefik --configFile=/etc/traefik/traefik.yml

Passo 3: Configurar Certificado SSL (Let’s Encrypt)

Para Nginx:

  1. Instale o Certbot: sudo apt install certbot python3-certbot-nginx -y
  2. Obtenha o certificado SSL: sudo certbot --nginx -d seu-dominio.com -d www.seu-dominio.com
  3. Configure a renovação automática: sudo crontab -e Adicione: 0 0 * * * certbot renew --quiet

Para Traefik:

Certificados são configurados automaticamente com o certResolver definido no arquivo traefik.yml.


Passo 4: Teste sua Configuração

  1. Acesse http://seu-dominio.com ou https://seu-dominio.com para confirmar que o proxy reverso está funcionando.
  2. Verifique os logs do servidor para identificar possíveis erros:
    • Nginx: /var/log/nginx/error.log
    • Traefik: padrão no terminal onde foi iniciado.

Conclusão

Com o proxy reverso configurado, você pode gerenciar múltiplos serviços no seu VPS de forma organizada e segura. Seja com Nginx ou Traefik, o uso de certificados SSL melhora a segurança e a confiança dos usuários no seu site ou aplicação.

Dica extra: Use ferramentas como Netdata ou Grafana para monitorar a performance do proxy reverso e otimizar sua configuração ao longo do tempo.

Agora, é só colocar em prática e desfrutar de um VPS robusto e seguro! Experimente essa configuração com os planos acessíveis da VPS Brasil e leve suas soluções ao próximo nível! 🚀

Publicar comentário