Comunicación punto a punto con ngrok
Ngrok es una herramienta que permite exponer un servidor local a Internet de manera segura y sencilla. Básicamente, crea una especie de "túnel" entre tu ordenador (o servidor local) y la red externa, asignándote una URL pública temporal.
Esta aplicación es sobretodo útil en entornos de testeo de aplicaciones o para acceder a servicios locales desde otros dispositivos o desde Internet, sin necesidad de configurar un dominio o modificar el router, algunas utilidades:
Desarrollo y pruebas remotas: Ideal para probar aplicaciones web y APIs con servicios externos o para mostrar avances a clientes sin desplegar la app en un servidor real.
Pruebas de Webhooks: Herramientas como Stripe, GitHub, Slack, entre otros, requieren URLs públicas para enviar notificaciones, y Ngrok facilita recibir esos datos en tu entorno de desarrollo.
Pruebas en diferentes dispositivos: Puedes acceder a tu aplicación desde otros dispositivos (como móviles) usando la URL pública que Ngrok genera.

Puedes redirigir el trafico de cualquier servicio y protocolo que requieras, por ejemplo:
Para ello sigue estos pasos: primero de todo, regístrate en ngrok y elige que entorno de trabajo utilizas (Linux, Windows, Docker...) y sigue las instrucciones de instalación. Dependiendo de la plataforma elegida sigue los pasos:
Para Windows
Podrías hacerlo de dos formas:
Mediante el archivo
.exeMediante chocolatey 🍫
Empezando de forma más sencilla:
Descarga el archivo .exe a tu carpeta de proyecto (si es node.js o si esta en xampp con localhost)

Ejecutamos ngrok en el mismo terminal de VScode y como aparece en las instrucciones o mediante el propio archivo .exe (
.\ngrok.exe) con el token de autorización que te ha dado el propio ngrok:

Ejecutamos el comando (siendo 80 el puerto http de localhost por defecto, 3000 si es node por ejemplo):
Este creará un dominio de forwarding, accede a él a través de navegador.

Ya podemos entrar a nuestro servidor localhost a través de dominio público.

Instalación con chocolatey
Con el uso de chocolatey 🍫, este es un packet manager para Windows que se encarga de la instalación y mantenimiento de aplicaciones del paquete de forma automática. Para realizarlo con este gestor :
Descarga e instala chocolatey desde su página oficial mediante el comando que te aparece
Instala ngrok con el comando especificado en la documentación de ngrok (
choco install ngrok)Revisa la versión con
ngrok -vAñade el token de autenticación tal y como se ha visto en pasos anteriores.
Ahora vuelve a ejecutar el comando
ngrok http 80
Para un dominio estático
Si lo que quieres es servir tu aplicación a través de un dominio estático comprado, el comando seria tal que así:
Para Linux
En Linux, ngrok se ejecutará como un servicio de systemd pero podemos instalarlo de varias formas dependiendo de la distro, en distros de Debian:
o
o
A continuación, como siempre, añade el token:
Y ahora para que lo contemple como servicio deberemos crear una unidad service en /etc/systemd/system/ngrok.service:
Reiniciamos el daemon sin parar servicios:
Reiniciamos el servicio de ngrok:
Podemos revisar ahora si está activo o no:
Activarlo por defecto con el inicio del servidor:
En la web de Ngrok (en endpoints) podemos encontrar ahora la URL efímera que nos ha creado:
Para Docker
Con docker simplemente hay que descargar la imagen de ngrok con el siguiente comando:
Para el dominio público aleatorio de ngrok, ejecutaremos el contenedor redirigiendo el tráfico del servicio que queremos. Por ejemplo, en http por el puerto 80 (http://localhost:8080). Recuerda añadir el token correspondiente de la web:
Una vez ejecutado, podrás revisar los endpoints en su página correspondiente.
Última actualización