ngrok – Zugriff aus dem Internet auf den eigenen Rechner ermöglichen

31. März 2016 Allgemein 0
ngrok – Zugriff aus dem Internet auf den eigenen Rechner ermöglichen

(Titelbild von BJJ86, verfügbar unter der Creative Commons Attribution-Share Alike 4.0 International Lizenz)

 

Wenn man auf dem eigenen Rechner eine Webseite oder ähnliches entwickelt, hat man mehrere Möglichkeiten, diese Arbeit jemandem über das Internet zugänglich zu machen:

  • Man lädt das ganze auf einen Webserver hoch. Für große Projekte ist eine eigene Staging Umgebung absolut sinnvoll, für kleine Dinge oder das kurze „schau mal hier“ aber sicher übertrieben.
  • Man gibt den lokalen Webserver frei, leitet die entsprechenden Ports weiter und verwendet (wenn man nicht mit einer statischen IP Adresse gesegnet ist) einen dynamischen DNS Service. Ziemlich umständlich.
  • Man öffnet einen Tunnel auf den eigenen Rechner, dessen anderes Ende offen im Internet verfügbar ist.

Um die letzte Methode soll es hier gehen. Sie hat klare Vorteile: Der eigene Rechner ist schnell und einfach verfügbar, aber genau so schnell ist der Tunnel wieder geschlossen und der Computer sicher vor den Gefahren des öffentlichen Internet. Man muss sich, bei der hier beschriebenen Lösung, nicht um DNS oder IPs kümmern. Das ganze funktioniert auch super in eine Virtuelle Maschine hinein.

ngrok

ngrok stellt genau solch eine Lösung sehr einfach und kostenlos bereit. Man installiert sich ein kleines Programm, welches für alle möglichen Betriebssystem verfügbar ist, startet ngrok und fertig.

Für den Start gibt es verschiedene Parameter. Die einfachste Variante sieht so aus:

ngrok http 80

ngrok Ausgabe

Hiermit wird ein Tunnel für HTTP auf Port 80 eures Computers gestartet. Wurde der Tunnel erfolgreich geöffnet wird euch eine ngrok.io URL angezeigt. Diese URL könnt ihr nun weiter geben, sie zeigt auf euren Rechner solange ngrok geöffnet ist.

Läuft auf dem Rechner eine Webseite auf einem lokalen Webserver, erwartet dieser vermutlich einen Hostnamen, um den Request auf einen Virtual Host zu mappen. Auch das ist kein Problem:

ngrok http --hostname meine.dev.domain 80

Schon können andere über das Internet auf eure Entwicklungsdomain zugreifen.

Einige Features von ngrok verlangen, dass man sich registriert. Dies geht kostenlos über die ngrok.com Seite. Hier erhält man dann ein Auth Token, welches dem installierten Programm übergeben werden kann:

ngrok authtoken <dein Auth Token>

Manche Features, wie zum Beispiel das feste Registrieren von ngrok.io Subdomains, benötigen einen bezahlten Account.