Servidor & DevOps 4 visualizações

Como configurar um proxy reverso Nginx na frente de uma aplicação no VPS

Ver no WHMCS

Como configurar um proxy reverso Nginx na frente de uma aplicação no VPS

Olá, viajante da tecnologia! Seja bem-vindo(a) ao seu novo passo rumo ao controle total da sua aplicação. Aqui, na GeHost, acreditamos que todo mundo pode aprender a dominar o servidor — mesmo que seu primeiro contato com o terminal tenha sido com um erro de digitação. 😄

Hoje vamos aprender juntos como configurar um proxy reverso com Nginx na frente de uma aplicação rodando no seu VPS. Isso quer dizer: o Nginx vai receber as requisições do mundo exterior e redirecionar para o seu app (como um site em Node.js, Python, ou qualquer outra coisa que você esteja testando).

Este guia é feito com carinho para quem está começando — sem pressa, sem jargões desnecessários. Vamos em passos simples, como se fosse uma conversa entre amigos. 💬

Antes de começar: o que você precisa ter

Antes de tocar no código, verifique se você tem:

  • Um VPS com acesso root (ou usuário com privilégios sudo).
  • Um domínio apontando para o IP do seu VPS (via DNS).
  • Uma aplicação já rodando em alguma porta (ex: 3000, 8080).
  • Conhecimento básico de terminal (comandos como sudo, nano, systemctl).

Dica do Sensei: Se você não tem certeza se seu VPS está configurado, entre no painel do cliente e verifique os dados do seu plano. Caso precise de ajuda, nosso suporte está disponível nos primeiros 30 dias após a entrega.

Passo 1: Instale o Nginx

Abra o terminal e atualize o sistema:

sudo apt update && sudo apt upgrade -y

Em seguida, instale o Nginx:

sudo apt install nginx -y

Após a instalação, verifique se o serviço está rodando:

sudo systemctl status nginx

Se estiver ativo (vermelho ou verde, dependendo do tema), você está no caminho certo. 🎉

Passo 2: Configure o arquivo de site do Nginx

Vamos criar um novo arquivo de configuração para o seu domínio. Substitua seudominio.com pelo seu domínio real.

sudo nano /etc/nginx/sites-available/seudominio.com

Coloque o seguinte conteúdo dentro do arquivo:

server {
    listen 80;
    server_name seudominio.com www.seudominio.com;

    location / {
        proxy_pass http://127.0.0.1:3000;  # Substitua 3000 pela porta da sua app
        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;
    }
}

Importante: Altere 3000 para a porta em que sua aplicação está rodando. Se não souber, verifique com o comando netstat -tulnp | grep :porta.

Passo 3: Ative o site

Por padrão, o Nginx só lê arquivos do diretório sites-enabled. Vamos criar um link simbólico:

sudo ln -s /etc/nginx/sites-available/seudominio.com /etc/nginx/sites-enabled/

Depois, teste a configuração:

sudo nginx -t

Se aparecer "syntax is ok" e "test is successful", tudo certo! 🎯

Passo 4: Reinicie o Nginx

Após a validação, reinicie o serviço:

sudo systemctl restart nginx

Pronto! Agora o Nginx está ouvindo na porta 80 e redirecionando para sua aplicação.

Passo 5: Verifique se está funcionando

Abra seu navegador e acesse http://seudominio.com. Se tudo estiver certo, você deverá ver sua aplicação rodando!

Se não funcionar:

  • Verifique se a aplicação está rodando (use ps aux | grep nome-da-app).
  • Confira se a porta está aberta: sudo ufw status (se usar UFW).
  • Verifique os logs do Nginx: sudo tail -f /var/log/nginx/error.log.

Dica do Sensei: Se algo não funcionar, não se desespere. O erro é só um sinal de que algo precisa de ajuste — e isso é parte do aprendizado. Acesse o painel do cliente ou entre em contato com o suporte. Estamos aqui para ajudar.

Passo 6 (opcional): Adicione HTTPS com Let's Encrypt

Para deixar seu site seguro, você pode usar o certificado gratuito do Let's Encrypt. Instale o certbot:

sudo apt install certbot python3-certbot-nginx -y

Execute:

sudo certbot --nginx -d seudominio.com -d www.seudominio.com

O certbot fará todo o trabalho de configuração automática. Após isso, seu site estará rodando em https:// — e o Nginx já estará preparado para redirecionar automaticamente HTTP → HTTPS.

Conclusão: Você está no controle

Parabéns! Você acabou de configurar um proxy reverso com Nginx — uma das ferramentas mais poderosas no mundo da infraestrutura. Agora, seu app está protegido, escalável e acessível pelo mundo inteiro.

Se quiser ir além, explore:

  • Logs de acesso: /var/log/nginx/access.log
  • Cache estático (arquivos CSS, JS, imagens)
  • Balanceamento de carga (para múltiplas instâncias)

Lembre-se: cada grande sistema começou com um simples sudo systemctl restart nginx. Você está no caminho certo. 💪

Se precisar de ajuda, não hesite. O suporte da GeHost está aqui para você — e o nosso grupo, G e Soluções e Eventos LTDA (CNPJ: 46.647.904/0001-04), acredita que tecnologia deve ser acessível, segura e humana.

Até a próxima, com código e coração. 🌟

Precisa de Ajuda?

Nossa equipe está pronta para resolver suas dúvidas.