Guía de configuración del servicio de proxy inverso Ngrok en ServBay
Ngrok es una herramienta de túnel seguro basada en tecnología de proxy inverso que puede atravesar firewalls para realizar la asignación de servicios locales a Internet. Esta guía detalla cómo implementar el servicio Ngrok en el entorno de ServBay, permitiendo el acceso a los servicios web locales a través de Internet.
Principio técnico
Ngrok establece una conexión de túnel cifrado que asigna servicios locales detrás de NAT/firewall a un dominio público. En el contexto de ServBay, esta solución permite a los desarrolladores publicar en tiempo real los servicios web que están depurando en un entorno local, facilitando la colaboración en equipo y las pruebas remotas.
Preparación del entorno
1. Instalación del cliente Ngrok
Sigue estos pasos para desplegar la herramienta CLI de Ngrok:
- Accede a la página de descargas oficial para obtener el paquete de instalación correspondiente a tu sistema.
- Descomprime y despliega en el directorio PATH del sistema (tomando como ejemplo macOS en arquitectura ARM):bash
sudo unzip ~/Downloads/ngrok-v3-stable-darwin-arm64.zip -d /usr/local/bin
1 - Verifica la integridad de la instalación:bash
ngrok version # ngrok version 3.5.0
1
2
Configuración del túnel en práctica
Descripción de parámetros clave
La estructura del comando estándar para ejecutar la asignación de servicios es la siguiente:
ngrok http --domain=<NGROK_DOMAIN> <LOCAL_ENDPOINT> \
--request-header-add='host: <VIRTUAL_HOST>'
2
Componente de parámetro | Descripción de la función |
---|---|
http | Declara un túnel HTTP |
--domain | Especifica un dominio fijo asignado por Ngrok (debe reemplazarse por un dominio real) |
<LOCAL_ENDPOINT> | Dirección del servicio local de ServBay (por defecto https://servbay.host ) |
--request-header-add | Reescribe la cabecera Host para garantizar la correcta roteo de la petición |
Ejemplo de configuración
Supongamos que se necesita asignar el servicio local servbay.local
al dominio público cunning-lacewing-fresh.ngrok-free.app
, el comando a ejecutar es:
ngrok http --domain=cunning-lacewing-fresh.ngrok-free.app https://servbay.local \
--request-header-add='host: servbay.local'
2
Una vez ejecutado con éxito, la terminal mostrará información sobre el estado del túnel, incluyendo la dirección de acceso público y el monitoreo de tráfico en tiempo real.
Verificación del servicio
Después de completar la configuración, sigue estos pasos para verificar:
- Accede al dominio Ngrok desde un navegador:
https://cunning-lacewing-fresh.ngrok-free.app
1 - Resultados esperados:
- Contenido web idéntico al del servicio local.
- Identificación de conexión HTTPS segura válida.
- Tiempo de respuesta dentro de rangos razonables (normalmente <500ms).
Ilustración: Página web accesible a través de Ngrok
Consejos avanzados
Gestión de dominios:
- Solicita un dominio personalizado en el panel de control de Ngrok.
- Los usuarios empresariales pueden vincular su propio dominio (es necesario actualizar el plan de pago).
Asignación de múltiples servicios:
bash# Asignar servicios HTTP/HTTPS simultáneamente ngrok http --domain=your-domain.ngrok.app 80 ngrok tls --domain=your-domain.ngrok.app 443
1
2
3Comandos de diagnóstico:
bashngrok config check # Verifica el archivo de configuración ngrok logs # Muestra los registros en tiempo real
1
2
Solución de problemas
Fenómeno | Solución |
---|---|
Tiempo de conexión agotado | Verifica el estado del servicio ServBay y la ocupación del puerto |
Error en el certificado HTTPS | Asegúrate de que la configuración del parámetro --request-header-add sea correcta |
Desconexiones intermitentes | Verifica la estabilidad de la red, se sugiere usar conexión por cable |
Resumen de la solución
A través de la solución de proxy inverso de Ngrok, los desarrolladores pueden establecer rápidamente un canal de acceso público seguro en el entorno de ServBay. Esta configuración tiene las siguientes ventajas:
- Modificación de cero código para facilitar la externalización del servicio.
- Soporte para monitoreo y análisis de tráfico en tiempo real.
- Proporciona protección de seguridad a nivel empresarial (se requiere configurar políticas de acceso).
Se recomienda usar el plan de pago de Ngrok en entornos de producción para obtener un soporte de servicio más estable.