Un reverse proxy es el componente de infraestructura más útil para una configuración de self-hosting seria. Permite ejecutar muchas aplicaciones detrás de un solo servidor, asignar cada una a su propio dominio o subdominio, y centralizar la terminación de HTTPS en un único punto. Esta guía explica qué hace un reverse proxy y detalla cómo configurar uno en un VPS.
Qué es un reverse proxy
Un reverse proxy se sitúa delante de tus aplicaciones autoalojadas y reenvía las solicitudes entrantes al servicio backend correcto según el dominio o la ruta. En lugar de exponer cada aplicación en un puerto distinto, apuntas todos tus dominios al proxy, que se encarga del enrutamiento y de los certificados TLS. Esto proporciona URLs limpias, HTTPS centralizado y un único lugar donde aplicar reglas de seguridad.
Por qué los self-hosters necesitan uno
Ejecutar varios servicios, como un servidor multimedia, un panel de control y un servidor git, se vuelve caótico rápidamente sin un proxy. Un reverse proxy resuelve varios problemas a la vez:
- Asigna dominios amigables como app.example.com a servicios internos.
- Gestiona los certificados TLS automáticamente, de modo que cada servicio tiene HTTPS.
- Oculta los puertos internos de internet público.
- Centraliza el control de acceso, la limitación de tasa y el registro.
Elegir tu reverse proxy
Existen varias opciones sólidas, y todas funcionan bien en un VPS modesto:
- Nginx Proxy Manager ofrece una interfaz web amigable y certificados automatizados, ideal para principiantes. Consulta nuestra guía mejor VPS para Nginx Proxy Manager.
- Traefik es dinámico y nativo de contenedores, descubriendo servicios automáticamente mediante etiquetas de Docker. Consulta nuestra guía mejor VPS para Traefik.
- Caddy es un servidor ligero con HTTPS automático integrado y un archivo de configuración muy sencillo.
Configuración paso a paso
Los siguientes pasos usan Docker, lo que mantiene el proxy y tus aplicaciones aislados y fáciles de gestionar.
- Aprovisiona un VPS con una versión reciente de Ubuntu o Debian LTS y acceso root completo.
- Apunta los registros DNS A de tu dominio a la dirección IP pública del VPS, incluyendo los subdominios que planees usar.
- Instala Docker y el plugin de Docker Compose.
- Crea una red Docker dedicada para que el proxy y tus aplicaciones puedan comunicarse por nombre de contenedor.
- Despliega el contenedor del reverse proxy elegido y conéctalo a esa red, publicando los puertos 80 y 443.
- Configura una primera ruta: asigna un subdominio a un servicio backend y su puerto interno.
- Activa TLS automático para que el proxy solicite y renueve certificados de cada dominio.
- Prueba la ruta por HTTPS y luego añade el resto de tus servicios uno a uno.
Especificaciones de VPS recomendadas
Un reverse proxy en sí mismo es muy ligero y necesita recursos mínimos. El tamaño adecuado depende de las aplicaciones que hay detrás. Una base de 1 vCPU y 2 GB de RAM ejecuta cómodamente un proxy más un puñado de servicios pequeños. Si alojas aplicaciones más pesadas, como un servidor multimedia o varias bases de datos, sube a 2 vCPU y 4 GB de RAM o más.
Recomendación: cualquier VPS pequeño y fiable maneja un reverse proxy sin problemas. Para un servidor económico y confiable como base de tu stack, compara opciones en nuestro ranking mejor VPS económico.
Errores comunes
- Los cambios de DNS tardan en propagarse. Espera a que los registros se resuelvan antes de solicitar certificados.
- La emisión de certificados falla si los puertos 80 y 443 no son accesibles desde internet. Revisa las reglas del firewall.
- Mantén el proxy y las aplicaciones backend en la misma red Docker para que se resuelvan por nombre entre sí.
- No olvides renovar o automatizar la renovación de certificados. La mayoría de los proxys modernos lo hacen automáticamente una vez configurados.
Preguntas frecuentes
¿Necesito un reverse proxy para una sola aplicación?
No estrictamente, pero sigue mereciendo la pena. Incluso para una sola aplicación, un reverse proxy ofrece HTTPS automático, un dominio limpio en lugar de una IP y un puerto, y un lugar donde añadir controles de acceso. También hace trivial añadir un segundo servicio más adelante, por lo que la mayoría de los self-hosters configuran uno desde el principio.
¿Qué reverse proxy es mejor para principiantes?
Nginx Proxy Manager es el punto de partida más amigable porque ofrece una interfaz web para añadir dominios y certificados sin editar archivos de configuración. Traefik es excelente en cuanto te sientes cómodo con las etiquetas de Docker, y Caddy ofrece la configuración de texto más sencilla. Los tres funcionan bien en un VPS pequeño.
¿Puedo ejecutar el reverse proxy en el mismo VPS que mis aplicaciones?
Sí, y esa es la configuración más común. El proxy y tus aplicaciones comparten un VPS y se comunican a través de una red Docker. Esto mantiene todo en un solo lugar y permite que el proxy alcance cada backend por su nombre de contenedor. Solo los despliegues grandes o de alto tráfico suelen separar el proxy en su propio servidor.
Para más información sobre cómo asegurar tu configuración, consulta nuestra guía refuerzo de seguridad de VPS, y para certificados en particular, nuestra guía dominio y SSL.