CodeNaEs

¿Qué es un Proxy Reverso y cómo funciona con Nginx?

Un proxy reverso es un servidor que se sitúa entre los clientes (usuarios o navegadores) y uno o más servidores backend, actuando como intermediario para gestionar solicitudes entrantes y dirigirlas al servidor adecuado. A diferencia de un proxy directo (que protege al cliente), el proxy reverso protege y optimiza el acceso a los servidores internos.

¿Por qué usar un Proxy Reverso?

  1. Balanceo de carga entre múltiples servidores
  2. Terminación de SSL (TLS)
  3. Caché de contenido estático
  4. Seguridad (ocultar estructura interna, mitigar ataques)
  5. Compresión de contenido
  6. Redirección de rutas y APIs

Implementando un Proxy Reverso con NGINX

NGINX es una de las herramientas más populares para esta tarea, gracias a su alto rendimiento, simplicidad y capacidad para manejar miles de conexiones simultáneas.

Instalación (Ubuntu)

sudo apt update
sudo apt install nginx


Configuración básica de proxy reverso

Supón que tienes una aplicación corriendo en http://localhost:3000 (por ejemplo, una app en Node.js).

Edita el archivo de configuración en:

sudo nano /etc/nginx/sites-available/default


Agrega dentro del bloque server:

server {
listen 80;

server_name midominio.com;

location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}


Guarda y luego recarga Nginx:

sudo nginx -t
sudo systemctl reload nginx


Casos de uso comunes

  1. Servidor Node.js con frontend en React
  2. Redirección de APIs a servicios en contenedores Docker
  3. Balanceo de carga para servicios distribuidos
  4. Reverse proxy para múltiples dominios en un solo servidor

Alternativas a NGINX

Existen otras soluciones modernas que también funcionan como proxies reversos:

Apache HTTP Server (mod_proxy)

  1. Muy utilizado en servidores tradicionales
  2. Más pesado que NGINX en conexiones simultáneas

HAProxy

  1. Enfocado en alta disponibilidad y balanceo de carga
  2. Más usado en entornos empresariales

Traefik

  1. Diseñado para Docker y microservicios
  2. Configuración automática basada en etiquetas (ideal para DevOps)

Caddy

  1. Configuración muy simple
  2. Certificados SSL automáticos integrados

El uso de un proxy reverso con NGINX ofrece una solución robusta y escalable para aplicaciones modernas. Ya sea para servir una aplicación Node.js, proteger tus APIs o balancear múltiples servicios, NGINX se posiciona como una de las herramientas más confiables. Sin embargo, dependiendo del caso, otras soluciones como Traefik o HAProxy pueden ofrecer ventajas específicas.

Nginx Servidor Proxy

Publicado el 01 de mayo de 2025