
Teilen Sie:
Julia hat es sich zur Aufgabe gemacht, andere Entwickler durch die Erstellung von Tutorials, Anleitungen und praktischen Ressourcen zu unterstützen. Mit ihrem Hintergrund in den Bereichen Öffentlichkeitsarbeit und Bildung möchte sie Technologien zugänglicher machen und die Erfahrung von Entwicklern insgesamt verbessern. Man kann sie oft bei lokalen Veranstaltungen antreffen.
Erste Schritte mit Ngrok in Node-RED
Hinweis: Einige der in diesem Artikel beschriebenen Tools oder Methoden werden möglicherweise nicht mehr unterstützt oder sind nicht mehr aktuell. Für aktualisierte Inhalte oder Support, überprüfen Sie unsere neuesten Beiträge oder kontaktieren Sie uns auf dem Vonage Community Slack
Wenn Sie sich in die Welt der Nexmo APIs eingearbeitet haben, sind Sie wahrscheinlich schon auf Webhooks gestoßen. Das ist großartig! Sie sind eine perfekte Möglichkeit, um über Ereignisse wie eingehende SMS, Zustellungsquittungen und eine Vielzahl von Sprachanruf-Ereignissen benachrichtigt zu werden. Allerdings gibt es einen Haken. Wenn Sie Webhook-Konsumenten erstellen, benötigen Sie eine öffentlich zugängliche URL, mit der Sie den API-Dienst konfigurieren können. Wenn Sie Ihren Server nicht dem Internet aussetzen, gibt es keine Möglichkeit, Nachrichten über Ihre Webhooks zu empfangen. Wenn Sie auf localhost entwickeln, ist dies der Ort, an dem Ngrok ins Spiel.
Was ist Ngrok und warum sollten Sie es verwenden?
Ngrok ist eine plattformübergreifende Anwendung, die Ihren lokalen Server mit einer einzigartigen ngrok.io Subdomain über sichere Tunnel verbindet. Standardmäßig werden sowohl HTTP- als auch HTTPS-Endpunkte erstellt, was für das Testen von Integrationen mit Diensten von Drittanbietern oder APIs, die gültige SSL/TLS-Domains erfordern, nützlich ist.
Eine andere Möglichkeit wäre die Bereitstellung Ihres Codes auf einem entfernten Server. Obwohl die Nutzung solcher Dienste immer einfacher wird, ist sie in der Regel mit einem gewissen Kosten- und Zeitaufwand verbunden. Außerdem kann es etwas frustrierend sein, wenn Sie Ihren Code während der Fehlersuche alle paar Minuten neu bereitstellen müssen.
Um Ihren lokalen Server mit ngrok für das Internet freizugeben, benötigen Sie nur einen Befehl in Ihrem Terminal, sobald Sie es auf Ihrem lokalen Rechner installiert haben. Lesen Sie Aarons Blogbeitrag um mehr über diese Option zu erfahren.

Falls Sie Ihren Node-RED-Editor nicht verlassen möchten, können Sie die Funktion ngrok Knoten für dieselbe Funktionalität verwenden.

Nachdem Sie den Port angegeben haben, an dem Node-RED lauscht (in der Regel 1880), initiiert der ngrok-Client eine sichere Verbindung zum ngrok-Server und dann kann jeder über die ngrok-Tunneladresse Anfragen an Ihren lokalen Server stellen.
Sicherheitsprobleme
Durch den Betrieb dieses Knotens setzen Sie Ihre Node-RED-Installation dem öffentlichen Internet aus, daher wird dringend empfohlen ein Admin-Passwort zu setzen für den Editor festzulegen.
Ngrok in Node-RED einrichten
Installieren Sie dienode-red-contrib-ngrok Paket
Zunächst müssen Sie den Ngrok-Knoten installieren. Dazu öffnen Sie Palette Verwalten aus dem Hamburger-Menü in Ihrem Node-RED-Editor, suchen Sie nach dem node-red-contrib-ngrok Paket und klicken Sie auf Installieren. Nach einem Neustart des Editors sollte der ngrok Knoten in der Knotenpalette erscheinen.

Ngrok konfigurieren
Der Knoten ngrok Knoten nimmt die Zeichenketten auf oder aus als Eingabe, um den Tunnel zu starten/stoppen, und gibt die ngrok-Hostadresse als msg.payload aus.
Der einfachste Weg, dies einzurichten, ist die Verkabelung von zwei inject Knoten als ngrok Knoten zu verbinden, einen mit der Nutzlast der Zeichenkette auf und der andere mit aus. Zur einfacheren Verwendung könnten Sie auch die Name dieser Knoten in den Knoteneigenschaften entsprechend einstellen, so dass klar ist, welche Funktionen sie haben. Um die Host-Adresse in der Debug-Seitenleiste anzuzeigen, verbinden Sie einen debug Knoten nach ngrok.
Als letzter Schritt vor dem Drücken von bereitstellenaufrufen, öffnen Sie die ngrok Knoteneigenschaften und geben Sie die Anschlussnummer an. Im Falle von Node-RED ist der Standardwert 1880. Die ngrok-Region ist standardmäßig die USA, aber Sie können sie auch auf Europa oder Asien einstellen. Sie können auch Ihr Authtoken für Ihr ngrok-Konto hinzufügen, wenn Sie eines haben. Wenn Sie keinen haben, können Sie diesen Schritt auch überspringen. Der Knoten wird eine Warnung ausgeben, dass er nicht vollständig konfiguriert ist, aber das ist kein Problem.

Sie sind bereit! Sobald Sie auf "Bereitstellen" und auf die Schaltfläche auf inject klicken, navigieren Sie zu der im Debug-Bereich angezeigten URL, um Ihren Node-RED-Editor unter einer öffentlichen Adresse zu finden.
Dieser Tunnel wird 8 Stunden lang aktiv sein und Ihr Editor ist nun im Internet öffentlich zugänglich. Nach 8 Stunden müssen Sie Ihren Tunnel neu starten und Sie erhalten eine andere, zufällig generierte ngrok-Subdomain. Es ist eine großartige Möglichkeit, lokale Demo- oder Proof-of-Concept-Applikationen mit anderen zu teilen, aber vergessen Sie nicht, dass jeder, der die URL kennt, in der Lage sein wird, Ihren Flow zu verändern. Daher wird dringend empfohlen, dass Sie ein Admin-Kennwort festzulegen für den Editor festzulegen.
Extra-Schritte
Obwohl Ihr ngrok-Tunnel bereits in Betrieb ist und Sie für alles, was Sie bisher getan haben, keinen ngrok-Account benötigen, lohnt es sich dennoch, einen zu erstellen einen zu erstellen.
Wenn Sie sich für einen kostenlosen Account anmelden, können Sie sich mit ngrok im ngrok Knoten durch Angabe Ihrer authtoken und Ihr Tunnel wird nicht mehr auf 8 Stunden begrenzt sein. Der Name der Subdomain wird immer noch nach dem Zufallsprinzip generiert, aber er bleibt derselbe. Erhalten Sie Ihre authtoken von https://dashboard.ngrok.com/auth und fügen Sie ihn in Ihre ngrok Knoteneigenschaften ein.

Das Paket enthält 1 Online-Ngrok-Prozess, 4 Tunnel/Ngrok-Prozess und 40 Verbindungen/Minute. Es ist eine großartige Lösung für schnelle Demos und einfache Tunnelbauanforderungen.
Sie können auch die kostenpflichtigen [Abonnement-Pläne] (https://dashboard.ngrok.com/billing/plan) ausprobieren, wenn Sie noch mehr Funktionen wünschen, darunter benutzerdefinierte Subdomains, reservierte Hostnamen, IP-Whitelisting, eine größere Anzahl von Prozessen/Tunneln/Verbindungen usw.
Nützliche Ngrok-Funktionen
Dashboard
Diese Webschnittstelle, die lokal auf Ihrem Rechner läuft, normalerweise auf [Port 4040] (http://127.0.0.1:4040/), bietet wertvolle Einblicke in Ihren Tunnel. Sie können den Status Ihres Tunnels, Details zu den Anfragen, die Sie gestellt haben, und die erhaltenen Antworten, einschließlich aller Header-Inhalte, leicht überprüfen. Stellen Sie sicher, dass Sie sich alles unter der Option prüfen ansehen, da dies beim Debuggen von API-Interaktionen von unschätzbarem Wert sein kann.

Replay-Anfragen
Das Beste am Dashboard? Sie können wiederholen Anfragen wiederholen oder sie mit Änderungen. Wenn Sie zum Beispiel einen Fluss haben, der eingehende Nachrichten von der Nexmo Messages API erfasst, können Sie einfach die letzte eingehende SMS-Anfrage wiederholen, anstatt eine weitere SMS zu senden, um den Webhook auszulösen. Das ist mächtig!

Wie geht es weiter?
In diesem Tutorial haben Sie gelernt, wie Sie Ihren lokalen Server mit den Möglichkeiten von Node-RED ins Internet bringen können. Möchten Sie es in Aktion sehen? Wählen Sie eines unserer Node-RED-Tutorials und machen Sie weiter!
Wenn Sie diesen Abschnitt verfolgt haben, haben Sie bereits einen Tunnel eingerichtet, also können Sie den Abschnitt Ihren lokalen Server dem Internet aussetzen Teil.
[Gruppenbenachrichtigungen mit Google Sheets und Node-RED versenden](https://developer.vonage.com/en/blog/sms-notifications-google-sheets-nodered-dr)
[Wie man eine IVR mit Node-RED und den Nexmo APIs erstellt](https://developer.vonage.com/en/blog/interactive-voice-response-node-red-dr)
[Erstellen Sie Ihre eigene Voicemail mit Node-RED und der Nexmo Voice API](https://developer.vonage.com/en/blog/build-voicemail-node-red-voice-api-dr)
[Weiterleitung eines Anrufs über einen Voice-Proxy mit Node-RED](https://developer.vonage.com/en/blog/forward-call-via-voice-proxy-node-red-dr)
[Aufbau einer Telefonkonferenz mit Node-RED](https://developer.vonage.com/en/blog/conference-call-node-red-dr)
[Verify Phone Numbers mit Node-RED](https://developer.vonage.com/en/blog/verify-phone-numbers-with-node-red-dr)
[Wie man mit Node-RED Text-to-Speech-Telefonate führt] (https://developer.vonage.com/en/blog/make-text-to-speech-phone-calls-node-red-dr/)
[Wie man mit Node-RED Telefonanrufe empfängt](https://developer.vonage.com/en/blog/receive-phone-calls-node-red-dr/)
[Wie man SMS-Nachrichten mit Node-RED versendet](https://developer.vonage.com/en/blog/send-sms-messages-node-red-dr/)
[Empfangen von SMS-Nachrichten mit Node-RED](https://developer.vonage.com/en/blog/receive-sms-messages-node-red-dr/)
Mehr über Ngrok
[Wie es funktioniert] (https://ngrok.com/product)
[Docs](https://ngrok.com/docs)
Teilen Sie:
Julia hat es sich zur Aufgabe gemacht, andere Entwickler durch die Erstellung von Tutorials, Anleitungen und praktischen Ressourcen zu unterstützen. Mit ihrem Hintergrund in den Bereichen Öffentlichkeitsarbeit und Bildung möchte sie Technologien zugänglicher machen und die Erfahrung von Entwicklern insgesamt verbessern. Man kann sie oft bei lokalen Veranstaltungen antreffen.