Como configurar um proxy reverso pra rodar várias aplicações no mesmo VPS 🥋
Fala, guerreiro(a)! Aqui é a Sensei da GeHost. Hoje vamos aprender uma técnica que separa quem só "tem um servidor" de quem realmente sabe usar um VPS: colocar várias aplicações rodando ao mesmo tempo, cada uma no seu domínio ou subdomínio, sem brigar por porta e sem precisar de um servidor pra cada projeto.
O segredo é o proxy reverso. Pensa nele como um "recepcionista" do seu VPS: todo mundo bate na porta 80/443 (HTTP/HTTPS), e é o proxy que decide pra qual aplicação a visita deve ser encaminhada, de acordo com o domínio digitado. Assim, seu blog, sua API e seu sistema interno podem morar lado a lado no mesmo servidor, cada um em sua própria "sala".
💡 Dica da Sensei: este guia é pra quem tem um VPS com acesso root/sudo. Se você usa hospedagem compartilhada (cPanel) da GeHost, o gerenciamento é diferente — nesse caso, fale com a gente pelo painel.gehost.com.br que te orientamos certinho.
O que você vai precisar antes de começar
- Um VPS ativo com acesso via terminal (SSH), com permissão de administrador (root ou sudo);
- Suas aplicações já rodando, cada uma numa porta diferente (ex.: app 1 na porta 3000, app 2 na porta 4000);
- Os domínios ou subdomínios que você quer usar pra cada aplicação, já registrados;
- Um pouco de paciência — é mais simples do que parece, prometo! 😊
Passo a passo
Passo 1 — Instale o Nginx (o nosso "recepcionista")
O Nginx é o software mais usado pra fazer esse papel de proxy reverso. No terminal do seu VPS, rode:
sudo apt updatesudo apt install nginxsudo systemctl enable nginx(pra ele iniciar sozinho quando o servidor reiniciar)
Passo 2 — Deixe suas aplicações rodando, cada uma numa porta
Antes do proxy entrar em ação, cada aplicação sua precisa estar de pé, ouvindo numa porta interna (que só o próprio servidor enxerga). Por exemplo:
- Aplicação A → rodando em
127.0.0.1:3000 - Aplicação B → rodando em
127.0.0.1:4000
Se você usa Node.js, Python, PHP-FPM ou qualquer outra tecnologia, é só garantir que cada uma "escute" numa porta própria e continue rodando em segundo plano (com PM2, systemd, supervisor, ou o gerenciador de processos da sua preferência).
Passo 3 — Crie um "bloco de servidor" pra cada domínio
Agora é a parte mágica: você vai ensinar o Nginx a reconhecer cada domínio e mandar o tráfego pra porta certa. Crie um arquivo de configuração pra cada aplicação dentro de /etc/nginx/sites-available/. Exemplo pra uma aplicação no domínio seudominio.com.br:
server {
listen 80;
server_name seudominio.com.br;
location / {
proxy_pass http://127.0.0.1:3000;
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;
}
}
Repita esse mesmo modelo pra cada domínio/aplicação, trocando o server_name e a porta do proxy_pass. Depois, ative cada configuração com um link simbólico:
sudo ln -s /etc/nginx/sites-available/seudominio.com.br /etc/nginx/sites-enabled/
💡 Dica da Sensei: pense em cada bloco de servidor como uma "porta de entrada" exclusiva. O visitante nem imagina que, por trás, é tudo o mesmo VPS cuidando de tudo — organização é poder!
Passo 4 — Aponte o DNS de cada domínio pro seu VPS
Pra o proxy funcionar, o domínio precisa "chegar" no seu servidor. No painel de DNS de cada domínio, crie um registro A apontando para o IP do seu VPS (você encontra esse IP no seu painel de gerenciamento do servidor).
Passo 5 — Teste a configuração e recarregue o Nginx
Antes de aplicar de vez, sempre teste se não tem nenhum erro de digitação:
sudo nginx -t(se aparecer "syntax is ok" e "test is successful", beleza!)sudo systemctl reload nginx
Passo 6 — Ative o certificado SSL (HTTPS) pra cada domínio
Site sem cadeado hoje em dia assusta o visitante. Com o Nginx já configurado, use o Certbot pra emitir um certificado SSL gratuito automaticamente pra cada domínio:
sudo apt install certbot python3-certbot-nginxsudo certbot --nginx -d seudominio.com.br
Repita o comando trocando o domínio pra cada aplicação. O Certbot já ajusta o bloco do Nginx automaticamente pra servir em HTTPS.
Prontinho! E agora?
Com isso, seu VPS vira um verdadeiro dojo: várias aplicações treinando (rodando) ao mesmo tempo, cada uma na sua própria sala, todas recebendo visitas através de um único "recepcionista" — o Nginx.
💡 Dica da Sensei: sempre que adicionar uma aplicação nova, o caminho é o mesmo: nova porta interna → novo bloco de servidor → novo registro de DNS → certbot pro SSL. Vira rotina rapidinho!
Erros comuns (e como evitar)
- Esquecer de testar com
nginx -t: um erro de sintaxe pode derrubar TODOS os sites configurados, não só o novo. Sempre teste antes de recarregar. - Duas aplicações na mesma porta: cada aplicação interna precisa da sua própria porta exclusiva.
- DNS ainda não propagado: depois de apontar o registro A, pode levar um tempo até funcionar em todo lugar — tenha paciência antes de "achar que quebrou".
Precisa de uma mãozinha?
Se enrolou em algum passo ou prefere que a gente configure isso pra você, é só chamar o suporte da GeHost pelo painel.gehost.com.br. Lembrando que toda entrega da GeHost já vem com 30 dias de suporte gratuito — aproveita essa janela pra tirar qualquer dúvida sem custo extra.
🥋 A Sensei sempre diz: organização de servidor é como treino de kata — parece repetitivo, mas é isso que evita a bagunça na hora que mais importa. Bons deploys!