
Compartir:
Julia está comprometida con la capacitación de los desarrolladores mediante la creación de tutoriales, guías y recursos prácticos. Con experiencia en divulgación y educación, su objetivo es hacer que la tecnología sea más accesible y mejorar la experiencia general de los desarrolladores. A menudo se la puede encontrar en eventos de la comunidad local.
Primeros pasos con Ngrok en Node-RED
Nota: Es posible que algunas de las herramientas o métodos descritos en este artículo ya no reciban soporte o no estén actualizados. Para obtener contenido actualizado o soporte, consulta nuestras últimas publicaciones o contáctanos en el Slack de la comunidad de Vonage
Si has estado mojándote los pies en el mundo de las APIs Nexmo, lo más probable es que te hayas encontrado con webhooks. ¡Eso es genial! Son una manera perfecta de recibir notificaciones sobre eventos como SMS entrantes, recibos de entrega y una variedad de eventos de llamadas de voz. Pero hay un problema. Al crear consumidores de webhooks, necesitas una URL de acceso público con la que configurar el servicio API. Sin exponer tu servidor a Internet, no hay forma de recibir mensajes en tus webhooks. Si estás desarrollando en localhost, aquí es donde Ngrok entra en juego.
¿Qué es Ngrok y por qué debería usarlo?
Ngrok es una aplicación multiplataforma que expone su servidor local a un único ngrok.io a través de túneles seguros. De forma predeterminada, crea puntos finales HTTP y HTTPS, lo que la hace útil para probar integraciones con servicios de terceros o API que requieren dominios SSL/TLS válidos.
Otra opción sería desplegar el código en un servidor remoto. Aunque el uso de este tipo de servicios es cada vez más sencillo, suele implicar cierto coste y tiempo. Además, volver a desplegar el código cada dos minutos mientras se depura puede resultar un poco frustrante.
Exponer su servidor local a Internet con ngrok sólo requiere un comando en su terminal, una vez que lo haya instalado en su máquina local. Lee Aaron's blog post para saber más sobre esta opción.

En caso de que prefiera no salir de su editor Node-RED, puede utilizar la función ngrok nodo para la misma funcionalidad.

Después de especificar el puerto en el que escucha Node-RED (normalmente 1880), el cliente ngrok inicia una conexión segura con el servidor ngrok y entonces cualquiera puede hacer peticiones a su servidor local a través de la dirección del túnel ngrok.
Cuestiones de seguridad
Al ejecutar este nodo, estará exponiendo su instalación de Node-RED a la Internet pública, por lo que se recomienda encarecidamente establecer una contraseña de administrador en el editor.
Configuración de Ngrok en Node-RED
Instale elnode-red-contrib-ngrok Paquete
En primer lugar, tendrás que instalar el nodo ngrok. Para ello, abra Administrar paleta del menú hamburguesa de tu editor Node-RED, busca el paquete node-red-contrib-ngrok y haz clic en instalar. Tras reiniciar el editor, el nodo ngrok debería aparecer en la paleta de nodos.

Configurar Ngrok
El nodo ngrok toma las cadenas en o off para iniciar/detener el túnel, y emite la dirección del host ngrok como msg.payload.
La forma más sencilla de configurar esto es cablear dos inject como entrada del nodo ngrok uno con la carga útil de la cadena en y el otro con apagado. Para facilitar su uso, también podría establecer el Name de estos nodos en las propiedades del nodo, para que quede claro qué funcionalidad tienen. A continuación, para mostrar la dirección del host en la barra lateral de depuración, conecte un nodo debug nodo después de ngrok.
Como último paso antes de pulsar desplegarabra las propiedades del nodo ngrok y especifique el número de puerto. En el caso de Node-RED, el valor por defecto es 1880. La región por defecto de ngrok es EE.UU., pero también se puede establecer en Europa o Asia. También puedes añadir tu authtoken para tu Account de ngrok si tienes uno. No te preocupes si no la tienes, omite este paso por ahora. El nodo advertirá que no está completamente configurado pero esto no es un problema.

Ya está todo listo. Una vez que pulse desplegar y haga clic en el botón en inject del nodo, navega hasta la URL que aparece en el área de depuración para encontrar tu editor Node-RED en una dirección pública.
Este túnel estará activo durante 8 horas y tu editor estará disponible públicamente en Internet. Después de 8 horas tendrás que reiniciar tu túnel y se te proporcionará otro subdominio ngrok generado aleatoriamente. También es una buena forma de compartir rápidamente aplicaciones locales de demostración o de prueba de concepto, pero no olvides que cualquiera que conozca la URL podrá modificar tu flujo. Por lo tanto, se recomienda encarecidamente establecer una contraseña de administrador en el editor.
Pasos adicionales
Aunque tu túnel ngrok ya está en funcionamiento y todo lo que has hecho hasta ahora no requiere que tengas una Account ngrok, puede que merezca la pena crear una.
Si decide registrarse para obtener una Account gratuita, puede autenticarse con ngrok en el nodo ngrok proporcionando su authtoken y tu túnel ya no estará limitado a 8 horas. El nombre del subdominio seguirá generándose aleatoriamente, pero seguirá siendo el mismo. Obtenga su authtoken de https://dashboard.ngrok.com/auth y pégalo en las ngrok propiedades del nodo.

El paquete incluye 1 proceso ngrok en línea, 4 túneles/proceso ngrok y 40 conexiones/minuto. Es una gran solución para demostraciones rápidas y necesidades sencillas de túneles.
También puedes echar un vistazo a sus [planes de suscripción] de pago (https://dashboard.ngrok.com/billing/plan) si buscas aún más funciones, como subdominios personalizados, nombres de host reservados, listas blancas de IP, un mayor número de procesos/túneles/conexiones, etc.
Funciones útiles de Ngrok
Cuadro de mandos
Esta interfaz web que se ejecuta localmente en tu máquina, normalmente en el [puerto 4040](http://127.0.0.1:4040/), proporciona información valiosa sobre tu túnel. Puedes inspeccionar fácilmente el estado de tu túnel, detalles sobre las peticiones que has hecho a través de él y las respuestas recibidas, incluyendo todo el contenido de las cabeceras. Asegúrate de echar un buen vistazo a todo lo que hay bajo la etiqueta inspeccionar ya que puede ser muy valioso a la hora de depurar las interacciones de la API.

Solicitudes de repetición
¿Lo mejor del salpicadero? Puedes reproducir solicitudes o reproducirlas con modificaciones. Por ejemplo, si tiene un flujo que captura mensajes entrantes de la API Nexmo SMS, en lugar de tener que enviar otro SMS para activar el webhook, puede simplemente reproducir la última solicitud de SMS entrante. ¡Eso sí que es potente!

¿Y ahora qué?
En este tutorial has aprendido cómo exponer tu servidor local a Internet con el poder de Node-RED. ¿Quieres verlo en acción? Elige uno de nuestros tutoriales de Node-RED y ¡continúa!
Si has seguido con éste, ya tienes un túnel funcionando, así que siéntete libre de saltarte la parte de Exponer tu servidor local a Internet a Internet.
[Envío de notificaciones de grupo con Google Sheets y Node-RED](https://developer.vonage.com/en/blog/sms-notifications-google-sheets-nodered-dr)
[Cómo crear un IVR con Node-RED y las API de Nexmo](https://developer.vonage.com/en/blog/interactive-voice-response-node-red-dr)
[Construya su propio buzón de voz con Node-RED y Nexmo Voice API](https://developer.vonage.com/en/blog/build-voicemail-node-red-voice-api-dr)
[Desviar una llamada a través de un proxy de voz con Node-RED](https://developer.vonage.com/en/blog/forward-call-via-voice-proxy-node-red-dr)
[Crear una teleconferencia con Node-RED](https://developer.vonage.com/en/blog/conference-call-node-red-dr)
[Verify Phone Numbers with Node-RED](https://developer.vonage.com/en/blog/verify-phone-numbers-with-node-red-dr)
[Cómo hacer llamadas telefónicas de texto a voz con Node-RED](https://developer.vonage.com/en/blog/make-text-to-speech-phone-calls-node-red-dr/)
[Cómo recibir llamadas telefónicas con Node-RED](https://developer.vonage.com/en/blog/receive-phone-calls-node-red-dr/)
[Cómo enviar mensajes SMS con Node-RED](https://developer.vonage.com/en/blog/send-sms-messages-node-red-dr/)
[Cómo recibir mensajes SMS con Node-RED](https://developer.vonage.com/en/blog/receive-sms-messages-node-red-dr/)
Más sobre Ngrok
[Cómo funciona](https://ngrok.com/product)
[Docs](https://ngrok.com/docs)
Compartir:
Julia está comprometida con la capacitación de los desarrolladores mediante la creación de tutoriales, guías y recursos prácticos. Con experiencia en divulgación y educación, su objetivo es hacer que la tecnología sea más accesible y mejorar la experiencia general de los desarrolladores. A menudo se la puede encontrar en eventos de la comunidad local.