CÓMO CONFIGURAR NGINX COMO PROXY INVERSO
Un Proxy Inverso actúa como un intermediario que recibe las peticiones de internet y las reenvía a un servidor interno.Pasos para crear el proxy inverso
- Preparar el servidor de destino: Asegurarse de que la aplicación ya esté corriendo en un puerto local. Por ejemplo, una app de en el puerto 3000.
- Crear el archivo de configuración:
sudo nano /etc/nginx/sites-available/reverse-proxy.cnf - Ejemplo de configuración base:
server { listen 80; server_name midominio.com; # Cambia esto por tu IP o dominio location / { # El puerto donde corre tu aplicación interna proxy_pass http://localhost:3000; # Cabeceras necesarias para que tu app reconozca al cliente 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 la configuración:
//Crear enlace simbólico sudo ln -s /etc/nginx/sites-available/mi-app /etc/nginx/sites-enabled/ // Validar sudo nginx -t (Crucial para detectar errores). // Aplicar configuración sudo systemctl reload nginx
¿Por qué usar las cabeceras "proxy_set_header"?
Si no se incluyen, la aplicación creerá que todas las visitas vienen de "127.0.0.1", el propio Nginx en lugar de la IP real del usuario.Siendo vital para:
- Registros de logs precisos.
- Sistemas de seguridad o bloqueo de IPs.
- Gestionar certificados SSL correctamente.