Como configurar un reverse proxy con Nginx

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.

Sigues con dudas? Abre un ticket de soporte y nuestro equipo te ayudara.

Volver al blog