Un reverse proxy con Nginx te permite servir multiples aplicaciones web en un solo servidor, cada una con su propio dominio o subdominio.
Instalar Nginx
sudo apt update
sudo apt install nginx
Configuracion basica de proxy
Crea un archivo de configuracion en /etc/nginx/sites-available/:
server {
listen 80;
server_name app.tudominio.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;
}
}
Activar el sitio
sudo ln -s /etc/nginx/sites-available/app /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
Anadir SSL con Let's Encrypt
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d app.tudominio.com
WebSocket support
Para aplicaciones que usan WebSockets, anade estas directivas al bloque location:
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
Un VPS de HostValues es perfecto para ejecutar Nginx como reverse proxy.