Proxy Reverso com Nginx
O proxy reverso permite direcionar tráfego para aplicações rodando em portas internas, adicionando SSL e melhor performance.
1. Instalar o Nginx:
sudo apt install nginx -y
2. Criar configuração do site:
sudo nano /etc/nginx/sites-available/meusite
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_set_header X-Forwarded-Proto $scheme;
proxy_cache_bypass $http_upgrade;
}
}
3. Ativar o site:
sudo ln -s /etc/nginx/sites-available/meusite /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
4. Adicionar SSL com Certbot:
sudo certbot --nginx -d meudominio.com.br
Exemplos de uso:
- Node.js rodando na porta 3000
- Docker com container na porta 8080
- Python/Django com Gunicorn na porta 8000
- Java/Spring na porta 8080
Múltiplos sites no mesmo servidor:
Basta criar um arquivo em sites-available para cada domínio, cada um apontando para uma porta diferente. O Nginx direciona pelo server_name.