Configuración de proxy inverso en ServBay: Mapea sitios internos o remotos para desarrollo y depuración local
ServBay es un entorno de desarrollo web local compatible con macOS y Windows que integra múltiples lenguajes como PHP, Node.js, Python, Go y Java, además de bases de datos como MySQL, PostgreSQL, MongoDB y Redis. Además de alojar proyectos locales, ServBay incorpora una potente función de proxy inverso. Gracias a ella, puedes mapear fácilmente sitios web alojados en redes internas, máquinas virtuales, contenedores o incluso servidores remotos en tu entorno local ServBay, simplificando así los procesos de desarrollo, depuración y acceso.
En este artículo encontrarás instrucciones detalladas para configurar el proxy inverso en ServBay, permitiendo redirigir y manejar sitios web internos o externos desde tu entorno local para un desarrollo más eficiente.
Resumen
Un servidor proxy inverso recibe las solicitudes de los clientes (por ejemplo, tu navegador) y las reenvía a uno o varios servidores backend (en este caso, los sitios internos o remotos que deseas mapear). ServBay utiliza sus servidores web integrados (Caddy o Nginx) para ofrecer esta funcionalidad.
Las principales ventajas de usar proxy inverso en un entorno de desarrollo local incluyen:
- Punto de acceso unificado: Accede a todos los recursos internos o externos usando un dominio local en ServBay, sin memorizar direcciones IP complejas ni puertos.
- Configuración SSL simplificada: Puedes gestionar los certificados SSL a través de ServBay (ya sea ServBay CA o ACME) y habilitar HTTPS para los sitios proxificados, incluso si el sitio backend solo ofrece HTTP.
- Depuración local eficiente: Posibilita la depuración sencilla de aplicaciones web remotas o internas directamente desde tu navegador local.
- Superación de restricciones de red: Accede desde tu entorno local a recursos de la red interna de la empresa u otras redes restringidas, siempre que el equipo con ServBay pueda conectarse a la dirección objetivo.
Requisitos previos
Antes de iniciar la configuración del proxy inverso, asegúrate de cumplir los siguientes requisitos:
- ServBay instalado y ejecutándose: Verifica que ServBay está correctamente instalado y en funcionamiento en tu sistema macOS.
- Accesibilidad del sitio objetivo: El sitio web interno o remoto que deseas proxificar debe estar operativo, y tu equipo con ServBay debe poder acceder a su IP/dominio y puerto. Por ejemplo, si el destino es
192.168.1.100:8080
, comprueba que tu Mac puede hacer ping a192.168.1.100
y acceder a192.168.1.100:8080
.
Pasos para agregar un sitio bajo proxy inverso
Sigue estos pasos para configurar un sitio web bajo proxy inverso en ServBay:
Paso 1: Abre la interfaz de administración de ServBay
Busca el icono de ServBay
en la carpeta de aplicaciones de tu Mac y haz doble clic para iniciar la aplicación.
Paso 2: Navega a la gestión de sitios web
Al ejecutar ServBay, verás su pantalla principal. Haz clic en Sitios
en el menú de navegación a la izquierda. Esto te llevará a la página de gestión de sitios donde puedes administrar tanto tus proyectos locales como los sitios bajo proxy inverso.
Paso 3: Añade un nuevo sitio
En la parte inferior de la página de gestión de sitios, localiza y haz clic en el botón +
. Esto desplegará un nuevo formulario a la derecha para configurar el nuevo sitio.
Paso 4: Configura los ajustes del proxy inverso
En el formulario para el nuevo sitio debes completar los datos clave para definir el comportamiento del proxy inverso:
- Nombre (Name): Asigna un nombre fácilmente identificable al sitio proxy, por ejemplo:
Proxy Interno Backend
. - Dominio (Domain): Introduce el dominio por el que accederás localmente al sitio proxificado, por ejemplo:
backend.servbay.demo
oproxy.to.local
. ServBay generalmente agregará automáticamente este dominio de desarrollo local en tu archivohosts
, resolviéndolo hacia127.0.0.1
o::1
. - Protocolo (Protocol): Elige el protocolo compatible. Normalmente selecciona
HTTP/HTTPS
para habilitar ambos. ServBay gestionará el SSL según la configuración. - Método para solicitar el certificado SSL (SSL Certificate Request Method):
- ServBay CA (recomendado para desarrollo local): Seleccionando esta opción, ServBay genera y administra automáticamente los certificados SSL usando su CA integrada. Es muy sencillo, aunque deberás confiar el certificado raíz de ServBay CA en tu sistema o navegador para evitar advertencias.
- ACME (Let's Encrypt): Si el dominio es público y accesible desde Internet, puedes elegir ACME para obtener gratuitamente certificados SSL de Let's Encrypt.
- Manual: Si cuentas con archivos de certificados SSL (
.crt
,.key
,.ca-bundle
), puedes cargarlos y configurarlos manualmente. Para desarrollo local y proxy de recursos internos se recomienda utilizarServBay CA
.
- Tipo de sitio (Website Type): Selecciona
Proxy inverso (Reverse Proxy)
. Es la clave para activar el modo proxy. - Destino del proxy (Proxy Target): Ingresa la URL o la IP y puerto del sitio a proxificar. Puede ser formato
IP:Puerto
o una URL completa con protocolo.- Ejemplo 1 (IP:Puerto):
192.168.1.100:8080
- Ejemplo 2 (URL con protocolo):
http://192.168.1.100:8080
- Ejemplo 3 (hostname interno):
backend.internal:8443
(si tu equipo con ServBay puede resolver este hostname) - Ejemplo 4 (URL remota):
https://api.example.com
Asegúrate siempre de que la dirección sea accesible desde el equipo donde ejecutas ServBay.
- Ejemplo 1 (IP:Puerto):
Paso 5: Finaliza y guarda la configuración
Después de completar los datos requeridos, haz clic en el botón Añadir (Add)
al final del formulario. ServBay guardará automáticamente la configuración y generará las reglas de proxy inverso necesarias en su servidor web (Caddy o Nginx).
Una vez guardado, el nuevo sitio aparecerá en la lista de sitios disponibles.
Paso 6: Accede al sitio bajo proxy inverso
Terminado el proceso, puedes abrir el dominio configurado (por ejemplo, proxy.to.local
o backend.servbay.demo
) en tu navegador y acceder al sitio backend que está siendo proxificado.
Si optaste por ServBay CA y HTTPS, quizá debas aceptar una advertencia de certificado en el navegador la primera vez (si aún no confiaste la CA raíz de ServBay).
Paso 7: Acciones rápidas del sitio
ServBay ofrece botones de acceso rápido para gestionar cada sitio:
- Abrir directorio raíz con el IDE: Este botón normalmente no aplica a sitios bajo proxy inverso, ya que no tienen una carpeta local asociada.
- Abrir el sitio en el navegador: Accede directamente al sitio desde el navegador por defecto.
- Ver registros del sitio: Accede a los logs de acceso y error del servidor web (Caddy/Nginx) para ese sitio, esencial para depuración.
- Pausar/activar sitio: Habilita o deshabilita temporalmente la configuración del proxy inverso.
- Eliminar sitio: Retira la configuración del sitio del listado en ServBay.
Preguntas frecuentes y solución de problemas (FAQ)
P: No puedo acceder al sitio, el navegador muestra error.
- Verifica el estado de ServBay: Comprueba que ServBay está en ejecución y que el servidor web (Caddy/Nginx) está activo.
- Revisa la resolución de dominio: Asegúrate de que el dominio ingresado en el navegador apunta correctamente a la IP local de ServBay (por lo general ServBay gestiona el archivo
hosts
, pero puedes confirmar manualmente). - Consulta los logs del sitio en ServBay: Haz clic en “Ver logs” en la lista de sitios y revisa los registros del servidor web. Allí encontrarás detalles de las solicitudes y errores al intentar conectar con el destino del proxy, lo que facilita el diagnóstico.
- Verifica firewall/software de seguridad: Cerciórate de que el firewall de tu Mac o cualquier software antivirus no bloquean los puertos 80 o 443, ni impiden que ServBay conecte con la dirección objetivo del proxy.
P: Mi equipo con ServBay accede al destino, pero al usar el dominio en el navegador falla.
- Revisa el formato del destino del proxy: Confirma que la dirección del “Destino del proxy” sea correcta y realmente accesible directamente desde el equipo con ServBay. Puedes hacer pruebas en el terminal con
curl [dirección de destino]
. - Configura correctamente el servidor objetivo: Algunos servidores backend verifican el header
Host
de la petición. ServBay por defecto reenvía elHost
original del cliente. Si tu servidor backend requiere un valor distinto (por ejemplo, un dominio interno), y accedes por otro dominio vía ServBay, podría generarse un error. En la configuración avanzada puedes modificar los headers (esto implica editar manualmente el Caddyfile o la configuración de Nginx, fuera del alcance de la interfaz básica). - Comprueba el firewall del servidor objetivo: Aunque ServBay logra conexión con el destino, quizás el firewall del backend solo permita conexiones desde ciertas IPs (por ejemplo, de la red interna). Garantiza que tu equipo con ServBay esté autorizado.
P: Al acceder por HTTPS aparece una advertencia de certificado.
- Usaste ServBay CA: Esto es normal ya que ServBay CA es una autoridad privada y no está reconocida por navegadores de forma predeterminada. Es necesario instalar y confiar manualmente su certificado raíz en tu navegador o sistema operativo, puedes hacerlo desde la sección “Ajustes” de ServBay.
- Usaste ACME (Let's Encrypt): Confirma que el dominio está correctamente configurado y apunta a la IP local de ServBay, además de haber solicitado el certificado ACME desde la plataforma de gestión SSL de ServBay. Revisa los logs de ServBay para detalles sobre la solicitud.
P: ¿Cómo configuro proxy hacia destinos que requieren headers o cookies específicos?
La configuración básica de proxy inverso en ServBay transfiere la mayoría de los datos de la petición del cliente. Sin embargo, para casos avanzados como agregar headers personalizados, modificar respuestas, manipular cookies o reescribir rutas, necesitarás acceder a la configuración avanzada y editar los archivos base de Caddy o Nginx manualmente. Es recomendable tener conocimientos sobre la sintaxis de configuración de estos servidores.
Conclusión
Los proxies inversos en ServBay te permiten integrar fácilmente sitios web alojados en redes internas, máquinas virtuales, contenedores o servidores remotos en tu entorno de desarrollo local. Esto no solo facilita el acceso centralizado y conveniente, sino que también simplifica la depuración y la gestión SSL. Siguiendo los pasos de esta guía puedes configurar y usar proxies inversos rápidamente. Aprovecha las funciones de logs y las recomendaciones para resolver problemas y asegurar el funcionamiento estable, mejorando de forma significativa tu productividad como desarrollador.