Como configurar um proxy reverso com Nginx na frente de uma aplicação Node.js no VPS
Olá, querido(a) desenvolvedor(a) e amigo(a) da GeHost! 🌟
Se você está aqui, é porque quer dar um passo além da hospedagem comum — quer colocar sua aplicação Node.js no ar com mais segurança, desempenho e controle. E o melhor? Isso é totalmente possível, mesmo com um VPS da GeHost. Vamos juntos, passo a passo, como configurar um proxy reverso com Nginx para proteger, otimizar e dar vida à sua aplicação.
O que é um proxy reverso?
Imagine o Nginx como um porta-voz inteligente. Ele recebe todas as requisições do mundo, decide quem pode entrar, e só então deixa a aplicação Node.js responder. Isso traz benefícios como:
- Proteção contra ataques DDoS
- Redirecionamento seguro de tráfego
- SSL/TLS (certificado HTTPS) centralizado
- Cache de conteúdo (para melhor desempenho)
- Requisições mais rápidas e estáveis
É como ter um porteiro esperto antes da porta da sua aplicação. 🚪✨
Pré-requisitos
Antes de começar, certifique-se de que você tem:
- Um VPS com acesso root (geralmente fornecido em planos avançados da GeHost)
- Seu aplicativo Node.js já rodando em uma porta (ex: 3000)
- Um domínio apontando para o IP do seu VPS (via DNS)
- Conhecimento básico de linha de comando (SSH)
Se não tiver certeza sobre algum desses pontos, entre em contato com nosso suporte — estamos aqui para ajudar! 💬
Passo a passo: Configurando o proxy reverso com Nginx
-
Conecte-se ao seu VPS via SSH
Abra seu terminal e use o comando:
ssh root@seu-ip-do-vpsSubstitua
seu-ip-do-vpspelo IP do seu servidor. Você encontra esse IP no painel do cliente: painel.gehost.com.br. -
Instale o Nginx
Atualize o sistema e instale o Nginx com os comandos abaixo:
apt update && apt install -y nginxPronto! O Nginx está instalado. Agora vamos configurá-lo.
-
Crie um arquivo de configuração para seu domínio
Os arquivos de configuração do Nginx ficam em
/etc/nginx/sites-available/. Crie um novo arquivo com o nome do seu domínio:nano /etc/nginx/sites-available/seudominio.comSubstitua
seudominio.compelo seu domínio real. -
Insira a configuração do proxy reverso
Coloque o seguinte conteúdo no arquivo (ajuste o domínio e a porta da sua aplicação):
server {
listen 80;
server_name seudominio.com www.seudominio.com;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
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;
}
}Dica: Substitua
3000pela porta onde sua aplicação Node.js está rodando. Se você não sabe, consulte seu arquivo de inicialização (ex:app.jsouserver.js). -
Ative a configuração
Link o arquivo criado para a pasta de sites ativos:
ln -s /etc/nginx/sites-available/seudominio.com /etc/nginx/sites-enabled/Isso ativa o site no Nginx.
-
Teste a configuração e reinicie o Nginx
Antes de reiniciar, verifique se não há erros:
nginx -tSe aparecer "syntax is ok", tudo certo! Agora reinicie:
systemctl restart nginx -
Garanta que seu Node.js esteja rodando
Verifique se sua aplicação está rodando na porta definida (ex: 3000). Você pode usar:
ps aux | grep nodeSe não estiver rodando, inicie com:
node app.jsPara manter o processo rodando mesmo após sair do terminal, use o
pm2(recomendado). -
Configure HTTPS (opcional, mas altamente recomendado)
Use o Let’s Encrypt para obter um certificado SSL grátis. Instale o certbot:
apt install -y certbot python3-certbot-nginxExecute:
certbot --nginx -d seudominio.com -d www.seudominio.comO certbot fará tudo automaticamente: instalar o certificado e reconfigurar o Nginx para HTTPS.
Verificação final
Abra seu navegador e acesse https://seudominio.com. Se tudo estiver certo, sua aplicação Node.js estará rodando com segurança, desempenho e HTTPS!
Dicas do Sensei da GeHost
💡 Importante: Nunca deixe sua aplicação Node.js exposta diretamente na porta 3000 sem um proxy reverso. Isso é um risco de segurança. O Nginx é seu escudo.
🔥 Extra: Use o
pm2para gerenciar seu Node.js como serviço. Ele reinicia automaticamente se a aplicação cair. Instale com:npm install -g pm2. Depois:pm2 start app.js.
🔐 Segurança: Seu VPS é seu território. Mantenha o sistema atualizado com
apt update && apt upgraderegularmente.
Quer ajuda?
Se algo não funcionar, ou se tiver dúvidas sobre o funcionamento do seu plano, acesse o painel do cliente ou entre em contato com nosso suporte. Estamos aqui para te ajudar com todo o carinho!
Se você gostou deste guia, compartilhe com um colega. Juntos, vamos construir o futuro da web com segurança e propósito. 🌍💻
Com carinho,
Sensei da GeHost
G e Soluções e Eventos LTDA
CNPJ: 46.647.904/0001-04