Um reverse proxy com Nginx permite servir multiplas aplicacoes web em um unico servidor, cada uma com seu proprio dominio ou subdominio.
Instalar Nginx
sudo apt update
sudo apt install nginx
Configuracao basica de proxy
Crie um arquivo de configuracao em /etc/nginx/sites-available/:
server {
listen 80;
server_name app.seudominio.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;
}
}
Ativar o site
sudo ln -s /etc/nginx/sites-available/app /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
Adicionar SSL com Let's Encrypt
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d app.seudominio.com
Suporte WebSocket
Para aplicacoes que usam WebSockets, adicione estas diretivas ao bloco location:
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
Um VPS da HostValues e perfeito para executar Nginx como reverse proxy.