Um proxy reverso é uma forma poderosa de redirecionar requisições de entrada para um ou mais servidores internos, ajudando a proteger, distribuir e organizar o tráfego de aplicações web. O Nginx, além de servidor web, é excelente para essa tarefa.
Neste post, você vai ver como configurar rapidamente um proxy reverso com Nginx em um servidor Linux.
O que é um Proxy Reverso?
Um proxy reverso age como intermediário entre os usuários da internet e seus servidores de aplicação. Ele recebe as requisições e as repassa internamente, sem que o cliente saiba qual servidor está respondendo.
📌 Exemplos de uso:
- Redirecionar tráfego para múltiplos serviços (ex: API, frontend, admin)
- Ocultar IPs e portas internas
- Adicionar cache, compressão ou HTTPS na entrada
⚙️ Pré-requisitos
- Nginx instalado (pode ser via apt, yum, dnf, etc.)
- Um backend rodando (por exemplo, um app Node.js ou Python em
localhost:3000) - Acesso root ou sudo
Passo a Passo: Configurando o Proxy Reverso
1. Instale o Nginx
No Debian/Ubuntu:
sudo apt update && sudo apt install nginx
No RHEL/CentOS:
sudo yum install nginx
2. Crie ou edite o arquivo de configuração
Vamos criar um site proxy que escuta na porta 80 e repassa para localhost:3000.
sudo nano /etc/nginx/sites-available/proxyapp
Conteúdo:
server {
listen 80;
server_name meudominio.com;
location / {
proxy_pass http://localhost: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;
}
}
3. Habilite a configuração
No Debian/Ubuntu:
sudo ln -s /etc/nginx/sites-available/proxyapp /etc/nginx/sites-enabled/
Verifique se a configuração está válida:
sudo nginx -t
Reinicie o Nginx:
sudo systemctl restart nginx
4. Acesse no navegador
Se estiver rodando um app em localhost:3000, agora ele estará acessível publicamente via http://meudominio.com/.
Extras recomendados
- Use HTTPS com Let’s Encrypt + Certbot
- Configure cache reverso com
proxy_cache - Faça load balance entre múltiplos backends
- Adicione autenticação básica (
auth_basic)
Conclusão
O Nginx torna muito simples a criação de um proxy reverso robusto e eficiente, ideal para microsserviços, containers, APIs e mais. Com poucos passos, você pode organizar melhor sua infraestrutura e manter seus backends protegidos.
Se quiser, posso mostrar como fazer isso com Docker, ou com SSL automático usando Let’s Encrypt. Quer seguir por esse caminho?
