ngrok: localhost nach außen freigeben

Wenn man beginnt an einer API zu arbeiten, wird diese meist zunächst über localhost verfügbar gemacht, aber dies hat zur Folge, dass der Zugriff auf die API wirklich nur auf dem eigenen Rechner möglich ist. An dieser Steller kommt ein kleines Kommandozeilen-Tool zum Einsatz, nämlich ngrok. Dieses Tool generiert eine URL für euch, welche den Zugriff von localhost auch von anderen Rechner ermöglicht. Dies hat den großen Vorteil, dass zum Beispiel gleich mehrere Entwickler Zugriff auf die API erhalten können, ohne selbst die API hosten zu müssen.

Das Tool ngrok steht sowohl kostenfrei als auch kostenpflichtig zur Verfügung. Um jedoch einfach ein bisschen zu testen oder einem weiteren Entwickler die Option zum Testen zu geben, genügt die kostenfreie Version aus. Über den Button Get started for free starten wir den Registrierungsprozess.

Hier müssen wir uns mit ein paar wenigen Daten generieren und können anschließend mit Create an account den Prozess abschließen.

Nun haben wir Zugriff auf die Download-Sektion und können je nach Betriebssystem die passende Datei herunterladen. Diese muss nun noch an einem beliebigen Ort entpackt werden.

Als API-Beispiel verwende ich eine Azure Function, welche unter http://localhost:7071/api/Function1 erreichbar ist.

Wir öffnen nun eine PowerShell und navigieren zu der ngrok-Datei. Nun lassen wir uns eine URL erzeugen über .\ngrok.exe http 7071, denn aktuell läuft die Azure Function über diesen Port.

Als Ergebnis erhalten wir eine URL, welche sogar über https erreichbar ist und direkt auf unserer localhost verweist.

Nun ist der Zugriff über diese URL von überall möglich.

Gerade während der Entwicklung ist dieses Tool sehr praktisch, da es nur eine zentrale API geben muss und trotzdem zahlreiche Entwickler auf diese Zugriff haben können.

Pokédex – Kleines Xamarin.Forms Projekt – Teil 3 Windows Sandbox zum Testen von Software Azure Functions im Docker Container