TecnoHN · Tecnología práctica

Qué es un reverse proxy

Reverse proxy · Nginx · Servidores

Un reverse proxy recibe las conexiones de los usuarios y decide a qué servicio interno enviarlas. Es una pieza fundamental cuando varios sitios, APIs o paneles comparten un mismo servidor o dirección pública.

Actualizado: 12 de noviembre de 2026Nivel: básico/intermedioLectura aproximada: 10–13 min
Aprenderás:
  • La diferencia entre proxy y reverse proxy.
  • Cómo enruta por hostname o ruta.
  • Qué significa terminar TLS en el proxy.
  • Cómo se relaciona con Cloudflare Tunnel y balanceo.

Concepto

Un reverse proxy se coloca delante de tus aplicaciones

El cliente no se conecta directamente al puerto interno de la aplicación. Se conecta al reverse proxy, que recibe la petición y la reenvía al backend correspondiente.

Por ejemplo, Nginx puede escuchar HTTPS en el puerto 443 y enviar las peticiones hacia una aplicación Node.js que solo escucha en 127.0.0.1:3000.

Usuario
https://app.example.com
→
Reverse proxy
:443
→
App
localhost:3000

Flujo

El usuario ve el proxy; el proxy conoce el backend

Cuando llega una petición, el proxy analiza datos como hostname, ruta, protocolo o reglas configuradas y selecciona un upstream. En Nginx, la directiva proxy_pass define el servidor al que debe enviarse una ubicación.

Esto desacopla la dirección pública del puerto real de la aplicación. Puedes cambiar el backend de :3000 a :4000 sin que el usuario cambie la URL pública.

Organización

Un mismo servidor puede publicar muchas aplicaciones

Un reverse proxy puede recibir varios hostnames y dirigir cada uno a un servicio distinto:

app.example.com→localhost:3000api.example.com→localhost:3001home.example.com→192.168.1.20:8123

También puede enrutar por path: /api/ hacia un backend y / hacia otro.

HTTPS

El proxy puede centralizar certificados TLS

En lugar de configurar HTTPS en cada aplicación, el reverse proxy puede recibir HTTPS, gestionar certificados y luego comunicarse con los servicios internos mediante HTTP o HTTPS.

Esto simplifica renovaciones y permite aplicar políticas TLS de forma centralizada. Herramientas como Caddy y Traefik pueden automatizar gran parte del proceso de certificados; Nginx suele combinarse con ACME/Certbot u otras soluciones.

HTTP interno no siempre significa inseguro.

Si proxy y backend comparten el mismo host o una red controlada, algunas arquitecturas terminan TLS en el proxy. En redes no confiables o entre hosts, cifrar también el tramo interno puede ser apropiado.

Contexto

La aplicación debe saber que existe un proxy delante

El backend ve la conexión del reverse proxy, no necesariamente la conexión TCP original del usuario. Por eso se utilizan headers como X-Forwarded-For, X-Forwarded-Proto o Host para conservar contexto.

La aplicación debe confiar esos headers solo desde proxies conocidos. Aceptar valores arbitrarios enviados directamente por un cliente puede permitir falsificar información como la IP original.

Escalabilidad

Un reverse proxy también puede balancear tráfico

En vez de un solo backend, puedes tener varias instancias de una aplicación. El proxy distribuye peticiones entre ellas mediante el algoritmo configurado.

Esto permite aumentar capacidad o retirar temporalmente una instancia por mantenimiento. El balanceo requiere considerar sesiones, estado compartido, health checks y persistencia según la aplicación.

Rendimiento

Puede almacenar respuestas en caché

Algunos reverse proxies pueden guardar respuestas y servirlas sin consultar al backend en cada petición. Es útil para contenido cacheable y reduce carga sobre la aplicación.

La caché debe configurarse con cuidado: datos personalizados, autenticación o contenido dinámico no deberían almacenarse de forma que mezclen respuestas entre usuarios.

Frontera

Centraliza controles, pero no reemplaza la seguridad de la aplicación

En el proxy puedes aplicar límites de tamaño, rate limiting, restricciones por IP, headers de seguridad y reglas antes de que la petición llegue al backend.

Sin embargo, una vulnerabilidad lógica dentro de la aplicación sigue existiendo. El reverse proxy reduce y organiza la superficie expuesta, pero no sustituye autenticación, actualizaciones, validación de entradas ni permisos.

No confundir

Reverse proxy y Cloudflare Tunnel pueden trabajar juntos

Un reverse proxy decide a qué servicio interno enviar una petición. Cloudflare Tunnel crea una ruta entre Cloudflare y tu infraestructura sin abrir puertos inbound.

Puedes apuntar un Tunnel directamente a cada aplicación o apuntarlo a un reverse proxy local que luego distribuya el tráfico entre varios servicios.

Lectura relacionada

Consulta Cloudflare Tunnel vs abrir puertos.

Opciones

Software habitual para reverse proxy

NginxCaddyTraefikHAProxyApache HTTP ServerNginx Proxy Manager

La elección depende de si priorizas archivos de configuración tradicionales, integración con Docker/Kubernetes, automatización de certificados, interfaz gráfica o balanceo avanzado.

Fuentes oficiales