DevOps e Dados

Nginx como proxy reverso: vários apps com SSL numa VPS

Você tem uma VPS, um IP público e quer rodar vários serviços nela: o site principal, um blog, um painel, um app self-hosted — cada um no seu domínio e todos com HTTPS. Como fazer tudo isso conviver num IP só? A resposta é o proxy reverso, e o Nginx é a ferramenta clássica para o trabalho.

O que é um proxy reverso

Um proxy reverso é um "porteiro" que fica na frente dos seus serviços. Todas as requisições chegam nele (nas portas 80/443), e ele decide, pelo domínio pedido, para qual serviço interno encaminhar:

                          ┌──────────────────────┐
  cliente ──► :443 ──►    │   Nginx (proxy)      │
                          │  site.com  → :3000   │
                          │  blog.com  → :8080   │
                          │  app.com   → :5000   │
                          └──────────────────────┘

Cada app roda internamente na sua própria porta; o Nginx expõe todos ao mundo por um IP só, cada um no seu domínio — e cuida do HTTPS de todos num lugar centralizado.

Por que você precisa disso

  • Um IP, muitos serviços — hospede vários sites/apps na mesma VPS.
  • HTTPS centralizado — os certificados ficam todos no proxy; os apps internos nem precisam saber de SSL.
  • Apps internos protegidos — eles escutam só em localhost; só o proxy fala com a internet.
  • Recursos extras — cache, compressão, rate limiting, balanceamento de carga.

Exemplo: proxy para um app na porta 3000

Um server block do Nginx que serve app.seudominio.com.br encaminhando para um app local na porta 3000:

server {
    listen 80;
    server_name app.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;
    }
}

Os cabeçalhos X-Forwarded-* são importantes: eles informam ao app interno o IP real do visitante e se a conexão original era HTTPS.

Adicionando HTTPS (Certbot)

Com o server block no ar, o Certbot cuida do SSL automaticamente:

sudo certbot --nginx -d app.seudominio.com.br

Ele emite o certificado, ajusta o Nginx para HTTPS e configura a renovação. Repita para cada domínio. Veja mais em SSL/TLS com Let's Encrypt.

Não curte editar config na mão? Use uma interface

Se mexer em arquivos do Nginx não é seu forte, há alternativas com painel visual que fazem o mesmo trabalho:

  • Nginx Proxy Manager — interface web para criar hosts e emitir SSL em cliques. Popular no mundo self-hosted.
  • Traefik — proxy que descobre contêineres Docker automaticamente (ótimo com Docker em produção).
  • Caddy — servidor com HTTPS automático por padrão, config mínima.

Todos resolvem o mesmo problema; escolha o que combina com seu estilo.

Casa perfeitamente com self-hosting

O proxy reverso é a peça que faltava para rodar vários apps self-hosted na mesma VPS, cada um no seu subdomínio e com cadeado. Se é isso que você busca, veja o guia de self-hosting e monte seu servidor de apps.

Um IP, todos os seus serviços — numa VPS

Para rodar um proxy reverso você precisa de portas 80/443 e root: o que só a VPS dá. A VittHost oferece VPS com root e IP dedicado, no Brasil e no Canadá — um IP para todos os seus domínios:

👉 Ver planos de VPS

Com vários serviços no ar, o próximo passo é vigiá-los: monitoramento de servidor.

Compartilhar:

Pronto para hospedar seu próximo projeto?

VPS com painel pré-instalado em 1 clique. Ativação imediata.

Ver planos VPS