Tempo de leitura: 3 minutos
Quando você roda uma aplicação em Node.js, Python ou outra linguagem numa porta interna (tipo 3000 ou 8000), não é uma boa prática expor essa porta direto pra internet. O jeito certo é colocar o Nginx na frente, funcionando como proxy reverso: ele recebe as requisições na porta 80/443 e repassa pra aplicação por trás.
Se você ainda não tem onde rodar essa aplicação, o Cloud VPS Brasil da Rubfy já sobe pronto pra esse tipo de configuração, com IP dedicado e ativação imediata.
Por que usar proxy reverso
- Você expõe só as portas 80 e 443, reduzindo a superfície de ataque do servidor.
- O Nginx cuida do certificado SSL numa camada só, mesmo que a aplicação por trás não fale HTTPS.
- Dá pra rodar várias aplicações no mesmo servidor, cada uma respondendo por um domínio diferente.
- O Nginx serve arquivos estáticos direto, sem sobrecarregar a aplicação com isso.
Instalando o Nginx
sudo apt update
sudo apt install nginx -y
Em distribuições baseadas em CentOS/AlmaLinux, use dnf install nginx -y.
Criando o bloco de configuração
Cada site/aplicação ganha um arquivo próprio dentro de /etc/nginx/sites-available/. Crie um novo:
sudo nano /etc/nginx/sites-available/minha-app
E cole a configuração básica de proxy reverso, trocando o domínio e a porta pelos seus:
server {
listen 80;
server_name meudominio.com.br;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
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_cache_bypass $http_upgrade;
}
}
Os cabeçalhos Upgrade e Connection são importantes se sua aplicação usar WebSocket. O X-Real-IP e o X-Forwarded-For garantem que a aplicação enxergue o IP real de quem acessou, e não o IP interno do proxy.
Ativando o site
Crie um link simbólico pra pasta sites-enabled, teste a configuração e reinicie o Nginx:
sudo ln -s /etc/nginx/sites-available/minha-app /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
O nginx -t testa a sintaxe antes de aplicar. Nunca pule esse passo: um erro de configuração pode derrubar todos os sites que já estavam funcionando no mesmo Nginx.
Adicionando HTTPS
Com o proxy funcionando em HTTP, o próximo passo natural é o certificado SSL grátis via Certbot. O passo a passo completo está em Let’s Encrypt na VPS Linux: SSL grátis com Certbot. Depois de emitido, o Certbot ajusta esse mesmo arquivo de configuração automaticamente pra redirecionar tudo pra HTTPS.
Rodando mais de uma aplicação no mesmo servidor
Basta repetir o processo: um arquivo novo em sites-available pra cada domínio, cada um apontando pra sua própria porta interna (3000, 3001, 8000, e assim por diante). O Nginx identifica qual aplicação servir pelo server_name de cada bloco.
Conclusão
Com o Nginx como proxy reverso, você mantém a aplicação isolada numa porta interna, ganha SSL centralizado e ainda consegue hospedar vários projetos no mesmo servidor de forma organizada.
Rode isso numa VPS de verdade
Proxy reverso bem configurado só entrega o esperado com rede estável por trás. O Cloud VPS Brasil da Rubfy roda com Intel Xeon Gold, SSD NVMe, tráfego ilimitado e suporte humano de verdade via WhatsApp e ticket, com preço fixo em reais.