Como configurar um proxy reverso Nginx na frente de uma aplicação Node.js
Olá, viajante do código! 🌟 Seja bem-vindo ao seu primeiro passo rumo a uma arquitetura mais robusta e segura para sua aplicação Node.js. Aqui, você aprenderá como usar um proxy reverso Nginx para proteger, otimizar e gerenciar o tráfego da sua aplicação — tudo isso com clareza, paciência e um toque de amor pelo que fazemos aqui na GeHost.
Imagine o Nginx como um porteiro inteligente: ele recebe todas as requisições do mundo, decide quem entra, redireciona com segurança e ainda protege sua aplicação de ataques. É exatamente isso que vamos montar juntos, passo a passo.
Dica do Sensei: Nginx é ótimo para servir conteúdo estático, balancear carga e atuar como proxy reverso. No nosso caso, ele será o "frente" da sua aplicação Node.js, escondendo-a do mundo e melhorando a performance.
Pré-requisitos
Antes de começar, verifique se você tem:
- Uma conta de hospedagem na GeHost com acesso ao cPanel.
- Seu aplicativo Node.js já rodando em uma porta (ex:
3000,8080). - Um domínio associado à sua hospedagem (ex:
meusite.com). - Permissão para configurar regras no arquivo de configuração Nginx (isso é possível em planos com acesso avançado).
Se você não tem certeza sobre os planos ou acesso, entre no painel do cliente em painel.gehost.com.br e confira.
Passo 1: Acesse o cPanel
Para começar, faça login no seu painel de controle:
Insira suas credenciais e clique em Log in.
Passo 2: Acesse o Gerenciador de Arquivos
Após logar, vá até a seção Arquivos e clique em Gerenciador de Arquivos.
Selecione a pasta public_html (ou a pasta onde seu site está hospedado) e clique em Ir para.
Passo 3: Crie um arquivo de configuração Nginx
Na pasta public_html, crie um novo arquivo chamado nginx.conf. Você pode usar o editor de arquivos do cPanel (clique em "Editar" no arquivo).
Esse arquivo será o coração da sua configuração. Cole o seguinte conteúdo (ajustando os valores conforme necessário):
server {
listen 80;
server_name seu-domínio.com;
location / {
proxy_pass http://127.0.0.1:3000; # Substitua pela porta da sua aplicação Node.js
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;
}
# Opcional: para servir arquivos estáticos diretamente
location /static/ {
alias /caminho/para/arquivos/estáticos/;
}
}
Importante: Substitua seu-domínio.com pelo seu domínio real. A porta 3000 deve ser a mesma onde sua aplicação Node.js está rodando.
Passo 4: Configure seu domínio no DNS
Garanta que seu domínio aponte corretamente para o servidor da GeHost. Isso é feito no Editor de Zona de DNS do cPanel.
Verifique se há um registro A apontando para o IP do servidor (geralmente o IP da sua hospedagem). Se não tiver, adicione um com o valor do IP fornecido no painel.
Passo 5: Inicie ou reinicie o Nginx
Como a GeHost gerencia o servidor, você não tem acesso direto ao terminal. Por isso, a configuração Nginx é aplicada via arquivos de configuração personalizados.
Para que o Nginx leia seu arquivo nginx.conf, ele precisa estar em um local específico (geralmente /etc/nginx/conf.d/ ou /etc/nginx/sites-available/). Como você não tem acesso root, o sistema da GeHost pode já estar configurado para ler arquivos personalizados em public_html — mas isso depende do seu plano.
Dica do Sensei: Se o Nginx não estiver aplicando a configuração, entre em contato com o suporte da GeHost e peça para verificar se o arquivo está sendo lido. É comum que planos mais simples usem configurações padrão, mas o suporte pode ajudar a habilitar regras personalizadas.
Passo 6: Teste sua aplicação
Após configurar tudo, acesse seu domínio no navegador (ex: https://seu-domínio.com).
Se tudo estiver certo, sua aplicação Node.js deve aparecer — agora protegida pelo proxy reverso Nginx!
Atenção: Se não funcionar, verifique:
- Se a aplicação Node.js está rodando em segundo plano (use
pm2ou similar).- Se a porta está aberta e acessível.
- Se o arquivo
nginx.confestá no local correto e com permissões adequadas.
Conclusão: Você está no caminho certo!
Parabéns, mestre do código! 🙌 Você acaba de dar um grande passo em direção a uma aplicação mais segura, escalável e profissional. O proxy reverso Nginx não só protege sua aplicação, como também permite melhorar o desempenho, adicionar SSL, balancear carga e muito mais.
Se tiver dúvidas, não hesite em entrar em contato com o suporte da GeHost. Estamos aqui para ajudar, com o mesmo carinho com que criamos este guia.
Até a próxima jornada, com muita energia, código limpo e um coração de dev!
Com carinho,
Sensei da GeHost
Grupo: G e Soluções e Eventos LTDA (CNPJ: 46.647.904/0001-04)