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
- VPS com sistema operacional Linux (Ubuntu/Debian recomendado).
- Acesso root ou a um usuário com privilégios sudo.
- Nginx ou Traefik instalados.
- Nome de domínio configurado apontando para o IP do VPS.
- 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
- Edite a configuração do Nginx:
sudo nano /etc/nginx/sites-available/proxy-reverso
- 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; } }
- 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
- Crie o arquivo de configuração principal:
sudo nano /etc/traefik/traefik.yml
- 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
- 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"
- Inicie o Traefik:
sudo traefik --configFile=/etc/traefik/traefik.yml
Passo 3: Configurar Certificado SSL (Let’s Encrypt)
Para Nginx:
- Instale o Certbot:
sudo apt install certbot python3-certbot-nginx -y
- Obtenha o certificado SSL:
sudo certbot --nginx -d seu-dominio.com -d www.seu-dominio.com
- 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
- Acesse
http://seu-dominio.com
ouhttps://seu-dominio.com
para confirmar que o proxy reverso está funcionando. - Verifique os logs do servidor para identificar possíveis erros:
- Nginx:
/var/log/nginx/error.log
- Traefik: padrão no terminal onde foi iniciado.
- Nginx:
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