Leitfaden: Ngrok Reverse-Proxy-Dienst in ServBay einrichten
Ngrok ist ein leistungsstarkes und sicheres Tunneling-Tool, das auf Reverse-Proxy-Technologie basiert und Firewalls sowie NAT durchdringen kann. Es ermöglicht, lokal laufende Dienste über eine öffentliche Domain erreichbar zu machen. In diesem Leitfaden erfahren Sie ausführlich, wie Sie Ngrok mit der ServBay-Entwicklungsumgebung integrieren und konfigurieren, um Web-Dienste, APIs oder andere Services online verfügbar zu machen – ideal für Remote-Präsentationen, Teamwork oder das Testen von Drittanbieter-Callbacks.
Technische Grundlagen
Das Grundprinzip von Ngrok ist der Aufbau eines verschlüsselten Tunnels zwischen Ihrem lokalen Rechner und dem Ngrok-Server. Greift ein externer Nutzer auf die von Ngrok bereitgestellte öffentliche Domain zu, gehen die Anfragen zunächst an den Ngrok-Server und werden dann über den sicheren Tunnel an den passenden Dienst in Ihrer lokalen ServBay-Umgebung weitergeleitet. So können Sie Dienste bereitstellen, auch wenn Ihr Rechner keine öffentliche IP oder sich hinter einer Firewall befindet. Für ServBay heißt das konkret: Sie können lokal gehostete Webseiten, Backend-APIs oder andere auf HTTP/HTTPS basierende Dienste in Echtzeit für externe Tests und Präsentationen freigeben.
Voraussetzungen
Bitte stellen Sie vor der Ngrok-Konfiguration Folgendes sicher:
- ServBay ist installiert und läuft: Die ServBay-App muss betriebsbereit sein, und der zu veröffentlichende Webdienst (z. B. eine Website) sollte in ServBay eingerichtet und funktionieren. Über das Panel „Websites“ können Sie Ihre lokalen Projekte verwalten.
- Ngrok-Client installiert: Installieren Sie das Ngrok-CLI-Tool wie folgt:
- Besuchen Sie die offizielle Ngrok-Downloadseite für das Installationspaket Ihres Betriebssystems.
- Nach dem Entpacken verschieben Sie die
ngrok
-Datei in ein Verzeichnis, das im System-PATH enthalten ist (unter macOS z. B./usr/local/bin
), damit Sie den Befehlngrok
in jedem Terminal ausführen können.bash# Beispiel für macOS ARM64 Architektur sudo unzip ~/Downloads/ngrok-v3-stable-darwin-arm64.zip -d /usr/local/bin
1
2 - Überprüfen Sie die Installation, indem Sie
ngrok version
ausführen und sicherstellen, dass die Versionsnummer angezeigt wird:bashngrok version # Beispielausgabe: ngrok version 3.5.0
1
2
- Ngrok-Konto (optional, empfohlen): Mit einem kostenlosen oder kostenpflichtigen Ngrok-Konto können Sie Tunnel einfacher verwalten und z. B. auf feste Domains zugreifen. Registrieren Sie sich auf der Ngrok-Website und hinterlegen Sie Ihr Authentifizierungs-Token (
ngrok config add-authtoken <YOUR_AUTH_TOKEN>
), um Verbindungszeitlimits aufzuheben und weitere Funktionen freizuschalten. - Lokale Website eingerichtet: Mindestens eine Website, die Sie via Ngrok veröffentlichen möchten, sollte in ServBay konfiguriert sein – etwa mit Domainnamen wie
servbay.local
oderyourproject.servbay.demo
.
Praktische Tunnel-Konfiguration
Wichtige Parameter
Standard-Befehl zum Mapping von Diensten:
ngrok http --domain=<NGROK_DOMAIN> <LOCAL_ENDPOINT> \
--request-header-add='host: <VIRTUAL_HOST>'
2
Parameter | Erklärung |
---|---|
http | Erstellt einen Tunnel für das HTTP-Protokoll. Ngrok verarbeitet eingehende HTTP/HTTPS-Anfragen. |
--domain <NGROK_DOMAIN> | Gibt die von Ngrok bereitgestellte feste Domain an (ersetzen Sie dies ggf. durch Ihre eigene, im Ngrok-Dashboard konfigurierte Domain). Kostenlos-Nutzer können das Argument weglassen, ein zufälliger Subdomain wird zugewiesen. |
<LOCAL_ENDPOINT> | Adresse Ihres lokalen ServBay-Dienstes. Für Virtuelle Hosts in ServBay verwenden Sie üblicherweise deren lokale Domains (z. B. https://servbay.local ). Alternativ auch http://localhost:<PORT> . |
--request-header-add='host: <VIRTUAL_HOST>' | Wichtig: Überschreibt den Host-Header. ServBay unterscheidet Websites anhand des HTTP Host-Headers. Durch dieses Argument wird der Host-Header passgenau (z. B. auf servbay.local ) gesetzt und ServBay routet die Anfrage an das gewünschte Projekt. |
Beispiel-Konfiguration
Sie haben in ServBay eine Website mit der lokalen Domain servbay.local
eingerichtet und wollen diese öffentlich machen. Falls Sie das kostenlose Ngrok-Konto nutzen, reicht ein direktes Mapping:
# Lokale ServBay-Website servbay.local auf eine zufällige Ngrok-Domain mappen
ngrok http https://servbay.local --request-header-add='host: servbay.local'
2
Haben Sie im Ngrok-Dashboard eine feste Domain konfiguriert, z.B. your-servbay-demo.ngrok-free.app
(oder eine eigene Domain mit Zahlkonto), nutzen Sie das --domain
-Argument:
# Mapping von servbay.local auf eine definierte Ngrok-Domain
ngrok http --domain=your-servbay-demo.ngrok-free.app https://servbay.local --request-header-add='host: servbay.local'
2
Nach erfolgreichem Start sehen Sie im Terminal die aktuellen Tunnel-Statusinformationen, darunter die öffentliche URL (z. B. https://xxxx.ngrok-free.app
) sowie den Live-Traffic-Monitor (in der Regel http://127.0.0.1:4040
).
Service-Verifizierung
Nach erfolgreichem Start des Ngrok-Tunnels prüfen Sie wie folgt, ob Ihr Dienst erreichbar ist:
- Öffentliche Adresse abrufen: Suchen Sie in der Ngrok-Konsole die Zeile
Forwarding
und notieren Sie die mithttps://
beginnende öffentliche URL. - Browser-Zugriff: Rufen Sie diese URL mit einem beliebigen internetfähigen Gerät und Browser auf (z. B.
https://cunning-lacewing-fresh.ngrok-free.app
). - Ergebnis prüfen:
- Die über ServBay gehostete Website sollte im Browser erscheinen.
- Prüfen Sie, ob die Adresszeile das HTTPS-Symbol für eine gesicherte Verbindung anzeigt. Ngrok stellt standardmäßig ein gültiges SSL-Zertifikat bereit.
- Im Ngrok-Terminal oder über die lokale Weboberfläche (
http://127.0.0.1:4040
) können Sie Logs und Traffic einsehen, um zu bestätigen, dass Anfragen korrekt bei ServBay ankommen.
Abbildung: Erfolgreicher Zugriff auf einen durch Ngrok aufgebauten Tunnel via Webbrowser
Fortgeschrittene Tipps & Hinweise
- Domain-Management:
- Mit dem kostenlosen Ngrok-Tarif erhalten Sie eine zufällige
.ngrok-free.app
-Subdomain. Die Verbindung ist zeitlich limitiert. - Durch Registrierung im Ngrok Dashboard können Sie feste Domains konfigurieren und ersparen sich häufige Adresswechsel.
- Kostenpflichtige Ngrok-Tarife erlauben eigene Domains, bieten mehr Bandbreite, Verbindungen und Features.
- Mit dem kostenlosen Ngrok-Tarif erhalten Sie eine zufällige
- Mehrere Dienste veröffentlichen: Sie können mehrere lokale ServBay-Dienste parallel veröffentlichen, indem Sie mehrere Ngrok-Tunnel-Prozesse starten oder im Ngrok-Konfigurationsfile (
~/.config/ngrok/ngrok.yml
) mehrere Tunnel definieren:bashHinweis: Für ServBay-Virtualhosts empfiehlt sich das Mapping über# Mapping von servbay.local aus ServBay (angenommen via HTTPS 443 per Host-Routing) ngrok http --domain=servbay-website.ngrok-free.app https://servbay.local --request-header-add='host: servbay.local' # Parallel (anderes Terminal oder via Konfiguration) ein Node.js-Dienst auf Port 3000 ngrok http --domain=nodejs-api.ngrok-free.app http://localhost:3000
1
2
3
4
5https://[lokale Domain]
mit--request-header-add
. Vermeiden Sie ein direktes Tunnel-Mapping auf Port 80/443, da ServBay über diese Ports alle Virtualhosts steuert. - Diagnose-Befehle:
ngrok config check
: Prüft die Syntax der Ngrok-Konfigurationsdatei (~/.config/ngrok/ngrok.yml
).ngrok logs
: Zeigt detaillierte Ngrok-Client-Logs live im Terminal – hilfreich zur Fehleranalyse bei Connectivity- oder Routingproblemen.
- Sicherheit: Ein direkter Zugang aus dem Internet birgt Risiken. Exponieren Sie nur sichere Dienste, und lassen Sie Ngrok-Tunnel nur bei Bedarf laufen. Bezahltarife bieten weitergehende Sicherheitsfeatures wie IP-Whitelisting und Zugriffsbeschränkungen.
Fehlerbehebung
Problem | Lösung |
---|---|
Timeout oder Seite lädt nicht | Prüfen Sie, ob die Zielseite in ServBay läuft und lokal via Domain erreichbar ist (z. B. https://servbay.local ). Stellen Sie sicher, dass der Webserver (z. B. Caddy oder Nginx) aktiv ist. Überprüfen Sie zusätzlich Ihre lokale Firewall, ob Ngrok-Verbindungen zulässig sind. |
HTTPS-Zertifikatsfehler (Browser-Warnung) | Ngrok stellt für öffentliche Domains automatisch ein gültiges HTTPS-Zertifikat bereit. Taucht dennoch ein Zertifikatsfehler beim Zugriff über die Ngrok-URL auf, liegt das meist an der Ngrok-Konfiguration oder Ihrer Netzwerkinfrastruktur – nicht an ServBay. Verwenden Sie konsequent die von Ngrok bereitgestellte https:// -Adresse. Taucht der Fehler mit der lokalen ServBay-Domain auf, prüfen Sie bitte deren SSL-Konfiguration. |
Verbindungsabbrüche oder langsame Geschwindigkeit | Ein stabiles Internet ist nötig. Störungen können Tunnelausfälle verursachen. Verwenden Sie wenn möglich eine kabelgebundene Verbindung. Für höchste Zuverlässigkeit wählen Sie einen Ngrok-Bezahldienst mit robuster Infrastruktur und breiterer Anbindung. |
Standardseite statt Zielwebsite erscheint | Prüfen Sie, ob <LOCAL_ENDPOINT> und <VIRTUAL_HOST> im Ngrok-Befehl korrekt sind. Nur wenn der Host-Header exakt zur in ServBay konfigurierten Website passt, routet ServBay die Anfragen korrekt weiter. |
Häufig gestellte Fragen (FAQ)
F: Kann ich auch ServBay-Datenbankdienste per Ngrok teilen?
A: Ngrok eignet sich primär für HTTP(S)-Tunnel. Zwar unterstützt Ngrok auch TCP-Tunnel (z. B. für Datenbanken), dies ist aber nicht Gegenstand dieser Anleitung und generell nicht zu empfehlen, da direkte Datenbank-Freigaben ein erhöhtes Sicherheitsrisiko darstellen. Nutzen Sie besser SSH-Tunnel oder andere sichere Wege für Remote-Datenbankzugriffe.
F: Ändert sich die Ngrok-URL bei jedem Start?
A: Im kostenlosen Plan wird standardmäßig eine zufällige
.ngrok-free.app
-Subdomain vergeben, die sich bei jedem Neustart ändert. Feste Domains erhalten Sie über Ihr Ngrok-Konto (nach Registrierung) oder einen kostenpflichtigen Tarif.F: Beeinträchtigt Ngrok die Leistung von ServBay?
A: Durch Umleitung über den Ngrok-Server kann die Latenz leicht steigen, was in Entwicklungs-, Test- und Demo-Szenarien meist vernachlässigbar ist. Die tatsächliche Verarbeitungsgeschwindigkeit Ihres ServBay-Dienstes hängt primär von Ihrer Hardware und der Effizienz Ihrer Webanwendung ab.
Fazit
Mit Ngrok können ServBay-Nutzer lokale Webprojekte sicher und effizient im Internet präsentieren – ohne komplizierte Netzwerkkonfigurationen. Die Lösung eignet sich ideal für Teamwork, Kundenpräsentationen oder das Testen von Schnittstellen und mobilen Geräten. Ngrok bietet Traffic-Monitoring in Echtzeit und starke Sicherheitsfeatures (teilweise kostenpflichtig). Für produktive Projekte oder den Bedarf an festen Domains empfiehlt sich ein Upgrade auf einen bezahlten Ngrok-Plan für zuverlässigeres und ausgereifteres Tunneling.