Cómo crear un túnel con Ngrok paso a paso: guía completa, usos y consejos

  • Ngrok permite exponer aplicaciones locales a Internet mediante túneles seguros, facilitando pruebas y acceso remoto sin configuración compleja.
  • El proceso implica registro, instalación, autenticación con token y ejecución del túnel con comandos flexibles y adaptados a cada entorno y necesidad.
  • Ngrok es multiplataforma, potente para testeo de webhooks y apps, con interfaz web de monitorización y políticas avanzadas de tráfico.

Cómo crear un túnel con Ngrok

Que levante la mano quien no se ha peleado nunca con los ajustes del router para abrir puertos o compartir un desarrollo local con alguien de fuera de su red. Desde que herramientas como Ngrok entraron en escena, todo ese quebradero de cabeza se quedó atrás. Con unos pocos comandos, puedes mostrar tu aplicación web, servicios o API que corren en tu ordenador como si estuvieran en producción y disponibles en todo el planeta, sin sudores fríos ni configuraciones eternas.

Si eres desarrollador, pruebas habitualmente funcionalidades web, necesitas testear webhooks de pagos, mapas, bots o simplemente quieres compartir tu producto en pruebas, crear un túnel con Ngrok puede ser tu mejor aliado. En esta guía vas a encontrar absolutamente todo lo que necesitas para aprovechar esta herramienta: qué es, características clave, cómo instalarla en cada sistema operativo, comandos importantes, trucos de seguridad, gestión de políticas de tráfico avanzadas y consejos prácticos basados en los mejores artículos, foros y documentación actualizada.

¿Qué es Ngrok y por qué te interesa usarlo?

Ngrok es una utilidad multiplataforma pensada para exponer servicios y aplicaciones que funcionan en tu equipo, permitiendo que sean accesibles desde Internet mediante un túnel seguro y el uso de una URL pública generada al vuelo. De esta manera, puedes mostrar fácilmente el resultado de tu desarrollo a cualquier persona del mundo, recibir peticiones externas (por ejemplo webhooks) o simplemente tener acceso remoto a tus propios servicios, todo sin tener que abrir puertos en el router ni resolver problemas de IPs públicas o NAT.

La seguridad es una pieza clave en la propuesta de Ngrok. Todos los túneles están cifrados mediante TLS y, si lo necesitas, puedes añadir autenticación básica, restringir rutas o definir políticas precisas según el tráfico que permitas. Sus creadores han pensado en los dolores más habituales de los desarrolladores, facilitando la vida durante la fase de prueba de nuevas aplicaciones o la presentación ante clientes.

Ngrok en la práctica: ejemplos de uso reales

Quizás donde más brilla Ngrok es en casos cotidianos como estos:

  • Presentar un proyecto web local (por ejemplo, un WordPress en XAMPP, Laravel, Django, etc.) a un cliente antes del despliegue real.
  • Recibir y depurar peticiones externas de APIs o servicios web (pagos, bots, notificaciones) que necesitan una URL pública para funcionar.
  • Permitir el acceso y testeo de apps móviles conectadas a tu backend local desde cualquier sitio, sin dolores de cabeza de infraestructura.
  • Compartir temporalmente servicios o demostraciones (Odoo, paneles, dashboards) sin riesgos ni instalaciones extras.

Ngrok se adapta a todo: HTTP, HTTPS, TCP, UDP, dominios personalizados y reglas a medida. Además, ofrece un panel web para monitorizar el tráfico y depurar peticiones en tiempo real.

Ngrok: qué es, cómo funciona y cómo exponer tu servidor local a Internet de forma segura y fácil

Comparativa de alternativas y limitaciones de otros métodos

¿Por qué es tan interesante Ngrok frente a otras soluciones? Tradicionalmente, exponer un servidor local solo era posible:

  • Abriendo puertos en tu router (arriesgado y complicado en redes corporativas o conexiones CGNAT).
  • Contratando un VPS con IP pública (coste económico y configuración engorrosa para pruebas pequeñas).
  • Montando una VPN (demasiado técnico para pruebas rápidas, suele requerir permisos que no siempre tienes).

Ngrok resuelve todos estos problemas ofreciendo una solución plug & play, segura, gratuita para la mayoría de los casos, y escalable si necesitas opciones avanzadas. El dominio gratuito es efímero y aleatorio en la versión sin pago, pero suficiente para la mayoría de situaciones cotidianas. Si necesitas un nombre personalizado o túneles persistentes, puedes optar por los planes de pago o integración de dominios propios.

Registro e instalación de Ngrok paso a paso

Antes de empezar a crear túneles, hay que registrarse gratis en la web oficial Ngrok. Aquí obtendrás un token de autenticación que será fundamental para vincular tu instalación local con tu cuenta y tener acceso a todas las funcionalidades básicas de la plataforma.

  • Entra en Ngrok.com y crea una cuenta gratuita usando email o tu cuenta de Google.
  • Accede al dashboard y localiza tu token de autenticación personal (lo necesitarás más adelante).

Instalación en Windows, Mac, Linux y Docker

Ngrok es compatible con los sistemas operativos más habituales y también se puede ejecutar mediante contenedor Docker.

En Windows:

  • La forma más rápida es usar el gestor Chocolatey. Abre la terminal como administrador y ejecuta:
choco install ngrok

En Linux (Debian/Ubuntu):

  • Se puede instalar directamente descargando el binario desde la web oficial, o (si usas Ubuntu 18.04 o superior) con el gestor snap:
sudo snap install ngrok

En distros diferentes, descarga el binario desde el área de descargas e instálalo con permisos de ejecución.

En Mac: Descarga el archivo desde la web de Ngrok o usa Homebrew:

brew install --cask ngrok

En Docker: Puedes lanzar un túnel desde cualquier servicio dockerizado. Basta con descargar la imagen oficial de Ngrok y mapear los puertos de tu app.

docker run -it --rm ngrok/ngrok http 80

O personaliza el comando a tu necesidad.

Configurando la autenticación y primer túnel

Una vez tengas Ngrok instalado, tienes que indicarle tu token personal para autenticación. Normalmente es un comando así:

ngrok config add-authtoken TU_TOKEN

¡Listo! Ahora ya puedes empezar a crear túneles desde tu terminal.

Ejemplo práctico: exponiendo un servidor local

Arranca el servicio local que quieras exponer (por ejemplo, un servidor web en el puerto 80, o una API en el 5000) y ejecuta:

ngrok http 80

Tras unos segundos verás en el terminal una URL pública temporal generada, del tipo https://xxxxxx.ngrok.io. Cualquier persona de fuera de tu red podrá acceder mientras el terminal siga abierto y activo.

Además, Ngrok crea una interfaz web accesible por defecto en http://127.0.0.1:4040 donde puedes monitorizar y analizar todas las peticiones HTTP que llegan a tu túnel: ideal para depurar el comportamiento de tu app, ver headers, cuerpos, respuestas o reproducir solicitudes para probar webhooks.

Opciones avanzadas y personalización de túneles

Además del comando básico, Ngrok ofrece muchas opciones y flags para configurar el tipo y comportamiento del túnel según tus necesidades:

    • –basic-auth=usuario:contraseña: obliga a los visitantes a autenticarse antes de acceder.
    • –host-header=»dominio.local»: personaliza la cabecera Host enviada al backend.
    • –scheme=»http»: fuerza el uso de HTTP en lugar de HTTPS.
    • Exponer otros puertos o protocolos (TCP, UDP):
      ngrok tcp 22

      para SSH, por ejemplo.

    • Definir el binding a una dirección IP concreta:
ngrok http 192.168.1.143:80

Puedes consultar todas las opciones actualizadas en la documentación oficial de Ngrok.

¿Y si quiero un dominio personalizado o persistente?

Por defecto, en el plan gratuito la URL de Ngrok será efímera y aleatoria. Si tu trabajo exige un subdominio concreto (por ejemplo para testear callbacks de Stripe o un flujo OAuth), puedes asociar tu dominio personalizado o adquirir suscripciones para obtener subdominios reservados y más estabilidad en los túneles, algo muy útil en equipos de desarrollo profesional.

Ngrok como servicio: automatización en Linux y servidores

¿Vas a necesitar el túnel funcionando tras cada reinicio o quieres usarlo en producción para mantener una API expuesta el mayor tiempo posible? Puedes levantar Ngrok como servicio de sistema:

    • Edita o crea el archivo de servicio /etc/systemd/system/ngrok.service con la configuración deseada.
    • Recarga los daemons y habilita el servicio para que arranque al iniciar:
sudo systemctl daemon-reload
sudo systemctl start ngrok
sudo systemctl enable ngrok
  • Revisa el estado con sudo systemctl status ngrok

Así nunca tendrás que estar pendiente de tener una terminal abierta ni de relanzar el túnel tras reinicios.

Monitorización y analítica: la web interface de Ngrok

Cada vez que lances un túnel, puedes acceder localmente a la interfaz de monitorización en http://127.0.0.1:4040/. Aquí podrás:

  • Visualizar y repetir peticiones HTTP recibidas.
  • Ver respuestas del backend, tiempos de respuesta, posibles errores.
  • Depurar el flujo completo y diagnosticar problemas rápidamente.
  • Reenviar solicitudes para pruebas rápidas (muy útil con webhooks o APIs).

Gestión avanzada del tráfico: reglas, políticas y seguridad extra

Ngrok incluye un sistema potente de políticas de tráfico y reglas de enrutamiento de peticiones, especialmente útil en entornos profesionales.

Desde el dashboard web, puedes:

  • Bloquear accesos a ciertas rutas o permitir solo tráfico en determinadas rutas.
  • Definir respuestas personalizadas (por ejemplo, devolver un 403 en /admin, redirigir /logout a otro endpoint, bloquear peticiones según origen, usuario, o headers).
  • Preparar stubs de respuesta estática, ideales para testear comportamientos de clientes frente a errores o respuestas condicionadas.
  • Manejar certificados propios para túneles HTTPS personalizados.

La configuración puede hacerse editando archivos en JSON/YAML localmente o, mucho más cómodo, directamente desde el panel de control web de Ngrok.

Limitaciones de la versión gratuita y ventajas de los planes profesionales

  • En el plan gratuito solo puedes tener 1 proceso de Ngrok y hasta 4 túneles activos a la vez, con un máximo de 40 conexiones/minuto.
  • Las URLs generadas serán aleatorias y cambiantes cada vez que levantes el túnel.
  • No podrás usar subdominios reservados ni dominios personalizados.
  • Aun así, para la mayoría de pequeños proyectos, pruebas de concepto y demostraciones puntuales, es más que suficiente.
  • Los planes de pago desbloquean túneles reservados, mayor límite de conexiones y configuración avanzada de políticas.

Alternativas autoalojadas y otros enfoques similares a Ngrok

En ocasiones, las políticas de uso o limitaciones de Ngrok pueden empujar a buscar alternativas, especialmente para quienes prefieren soluciones autoalojadas. Existen otras herramientas open source como inlets, localtunnel o openBalena que permiten levantar túneles similares en infraestructuras propias, incluso usando Docker.

Este camino es más técnico, pensado para quienes necesitan control total, despliegues corporativos o integración nativa en flujos de CI/CD, pero en términos de facilidad-de-uso, Ngrok sigue siendo el referente para la mayoría de escenarios de desarrollo individual, pruebas rápidas y demostraciones improvisadas.

Casos prácticos y consejos extra

  • ¿Vas a compartir credenciales, paneles o información sensible usando Ngrok? Configura –basic-auth para proteger la URL contra curiosos. También puedes bloquear rutas directamente desde el dashboard.
  • Guarda la URL pública generada solo el tiempo necesario. Recuerda que cuando cierres la terminal, el túnel se apaga y nadie podrá acceder desde fuera.
  • El panel web http://127.0.0.1:4040 estará disponible solo localmente, así que nadie externo puede espiar el tráfico a menos que comparta tus credenciales de máquina.
  • Siempre que puedas, usa HTTPS: es lo que proporciona Ngrok por defecto e incrementa la seguridad del canal.

Montar un túnel con Ngrok es sencillo, rápido y seguro, y soluciona la mayor parte de necesidades de exposición de servicios locales sin las complicaciones y riesgos de los métodos tradicionales. Con su panel de análisis de tráfico, opciones de personalización y la posibilidad de trabajar bajo demanda o como servicio permanente en servidores, Ngrok es, sin duda, la navaja suiza del desarrollador moderno. Prueba, juega y saca partido a todas las funcionalidades que ofrece, porque te ahorrará horas de configuración y dolores de cabeza a la hora de mostrar tus aplicaciones al mundo.

Deja un comentario