Como configurar o Nginx como proxy reverso na frente de uma aplicação Node no VPS
Olá, querido(a) desenvolvedor(a) ou empreendedor digital! Seja bem-vindo(a) ao seu primeiro passo seguro e claro na jornada de colocar sua aplicação Node.js no ar com segurança e desempenho. Aqui na GeHost, acreditamos que tecnologia deve ser acessível, prática e feita com carinho — por isso, hoje vamos juntos montar um proxy reverso com Nginx para proteger, otimizar e deixar sua aplicação Node mais robusta. Não se preocupe: mesmo que você nunca tenha tocado em servidor antes, comigo como seu Sensei, tudo vai fluir como um bom chá de camomila.
O que é um proxy reverso?
Imagine que o Nginx é um porteiro inteligente na frente da sua casa (sua aplicação Node). Ele recebe todas as visitas da internet, verifica se são legítimas, e só depois deixa entrar. Isso protege sua aplicação, melhora o desempenho e permite rodar múltiplos serviços com um único endereço.
Pré-requisitos (o que você precisa ter)
- Um VPS com acesso via SSH (acesso root ou usuário com privilégios).
- Seu aplicativo Node.js já rodando em uma porta (ex:
3000). - Um domínio apontando para o IP do seu VPS (configure no painel do domínio).
- Conhecimento básico de linha de comando (não se preocupe — vamos passo a passo).
Passo a passo: configurando o Nginx como proxy reverso
-
Conecte-se ao seu VPS via SSH
Abra seu terminal (ou Putty, se estiver no Windows) e digite:
ssh usuario@seu-ip-do-vps
Substitua
usuariopelo seu usuário no servidor eseu-ip-do-vpspelo IP real do seu VPS (consulte seu painel no painel.gehost.com.br). -
Instale o Nginx
Atualize o sistema e instale o Nginx com os comandos abaixo:
sudo apt update
sudo apt install nginx -yPronto! O Nginx está instalado. Agora vamos configurá-lo.
-
Edite o arquivo de configuração do Nginx
Abra o arquivo de configuração do site padrão com o editor
nano:sudo nano /etc/nginx/sites-available/default
Este arquivo é onde vamos dizer ao Nginx: “Quando alguém pedir meu domínio, redirecione para a aplicação Node.”
-
Substitua o conteúdo do arquivo com esta configuração
Apague tudo que estiver lá e cole o seguinte:
server {
listen 80;
server_name seu-dominio.com.br;
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;
}
}
Atenção: substitua
seu-dominio.com.brpelo seu domínio real (ex:meuapp.com.br). E certifique-se de que sua aplicação Node está rodando na porta3000(ou ajuste conforme necessário). -
Teste a configuração
Antes de reiniciar o Nginx, teste se a configuração está correta:
sudo nginx -t
Se aparecer “syntax is ok” e “test is successful”, está tudo certo!
-
Reinicie o Nginx
Com a configuração validada, reinicie o serviço:
sudo systemctl restart nginx
Pronto! O Nginx agora está funcionando como proxy reverso.
-
Garanta que sua aplicação Node esteja rodando
Verifique se sua aplicação Node está ativa na porta configurada (ex:
3000):sudo netstat -tulpn | grep :3000
Se não aparecer nada, sua aplicação não está rodando. Use
node app.jsou o comando que inicia seu app.Se precisar rodar em segundo plano, use
pm2ouscreen— mas isso é tema para outro guia! -
Verifique se o site está acessível
Agora abra seu navegador e vá para
http://seu-dominio.com.br. Se tudo estiver certo, você verá sua aplicação Node sendo servida pelo Nginx!
Dicas importantes (do Sensei)
- Use HTTPS! Em produção, nunca deixe seu site sem SSL. No painel da GeHost, você pode instalar um certificado SSL gratuito com um clique — vá em SSL/TLS Certificates e clique em “Install a Certificate”.
- Evite portas abertas — não deixe sua aplicação Node exposta diretamente na porta 3000. O Nginx é seu escudo.
- Use um nome de domínio real — não use
localhostou127.0.0.1como URL final. - Se precisar de ajuda, abra um ticket no suporte pelo painel.gehost.com.br. Nossa equipe está aqui para te ajudar — e sim, a ajuda é grátis nos primeiros 30 dias após a entrega.
Quer ir além?
Com esse mesmo Nginx, você pode:
- Redirecionar múltiplos domínios para diferentes aplicações.
- Proteger sua aplicação com autenticação básica.
- Ativar cache de conteúdo estático (imagens, CSS, JS).
Seu app está mais seguro, mais rápido e mais profissional. E tudo isso com um toque de zen no servidor. 🍵
Se esse guia te ajudou, compartilhe com alguém que está começando. E lembre-se: na GeHost, cada linha de código é uma história — e nós estamos aqui para ajudar você a escrevê-la com orgulho.
Importante: Se você não tem acesso root ou não sabe como usar SSH, entre em contato com o suporte da GeHost. Nossos especialistas podem te ajudar a configurar isso com segurança, sem riscos.
Com carinho,
Seu Sensei da GeHost
Grupo: G e Soluções