Cómo Exponer un Servicio Local a Internet Usando ngrok en una Mac

RMAG news

¿Qué es ngrok?

ngrok es una herramienta que permite exponer un servidor local a Internet a través de un túnel seguro. Esto es especialmente útil para desarrolladores que necesitan compartir su entorno local con colaboradores, probar webhooks o mostrar prototipos a clientes sin necesidad de desplegar su aplicación a un servidor externo.

Creación de Cuenta en ngrok

Para comenzar, necesitarás una cuenta en ngrok. Sigue estos pasos:

Visita ngrok.com.
Haz clic en Sign Up y completa el proceso de registro.
Una vez registrado, accede a tu Dashboard.

Creación de Authtoken

En tu Dashboard, verás una sección llamada Your Authtoken.
Copia tu Authtoken; lo necesitarás para autenticar tu cliente ngrok.

Instalación de ngrok en Mac

Para instalar ngrok en tu Mac, sigue estos pasos:

Instala vía Homebrew: Puedes instalar con el siguiente comando.

brew install ngrok/ngrok/ngrok

Extrae el archivo descargado:

ngrok config add-authtoken tu_authtoken

Exponer un Servicio Ejecutándose en el Puerto 8080

Supongamos que tienes un servidor ejecutándose en tu máquina local en el puerto 8080. Para exponerlo a Internet, utiliza el siguiente comando:

ngrok http 8080

Al ejecutar este comando, ngrok creará una URL pública que redirige el tráfico a tu servidor local. Verás una salida similar a esta:

ngrok by @inconshreveable (Ctrl+C to quit)

Session Status online
Session Expires 1 hour, 59 minutes
Version 2.3.35
Region United States (us)
Web Interface http://127.0.0.1:4040
Forwarding http://<subdomain>.ngrok.io -> http://localhost:8080
Forwarding https://<subdomain>.ngrok.io -> http://localhost:8080

Validación

Para verificar que tu servicio está accesible desde Internet, abre la URL generada por ngrok (http://<subdomain>.ngrok.io o https://<subdomain>.ngrok.io) en tu navegador. Deberías ver tu aplicación funcionando como si estuvieras accediendo a ella localmente.

Conclusiones

Usar ngrok es una forma eficiente y segura de exponer servicios locales a Internet, lo que facilita la colaboración y prueba de aplicaciones. La simplicidad de instalación y uso lo convierte en una herramienta imprescindible para desarrolladores.

¡Espero que encuentres útil esta guía! Si tienes alguna pregunta o comentario, no dudes en dejar un mensaje. 🚀

¿Te gustó este post? Dale like y comparte con tus colegas. Para más contenido relacionado con desarrollo y tecnología, sígueme en LinkedIn.