Öffentlichen Zugriff auf lokale Websites und Dienste mit Pinggy in ServBay ermöglichen
Pinggy ist ein extrem einfach zu bedienendes Tool für NAT-Traversierung (Expose Localhost), das mittels Reverse-Proxy-Technologie Webdienste, die lokal (z.B. im ServBay-Umfeld) laufen, sicher ins Internet bringt. In dieser Anleitung erfahren Entwickler Schritt für Schritt, wie Pinggy zusammen mit ServBay genutzt werden kann, um lokale Webdienste schnell und unkompliziert öffentlich erreichbar zu machen – ideal für Fern-Demos, Team-Kollaboration oder das Empfangen von Webhook-Anfragen.
Technische Grundlagen
Das Herzstück von Pinggy ist die Erstellung eines sicheren SSH-Tunnels. Dabei wird der Server-Port, der sich lokal (ggf. hinter NAT oder Firewall) befindet, via SSH-Verbindung auf einen öffentlichen Pinggy-Server weitergeleitet. Greift nun ein externer Nutzer auf die von Pinggy bereitgestellte URL zu, wird die Anfrage sicher durch den Tunnel an Ihren lokalen Dienst weitergereicht.
Im ServBay-Szenario heißt das, Sie können eine lokal laufende Website (z.B. https://myproject.servbay.demo
) über Pinggy auf eine öffentliche URL mappen – und das ganz ohne umständliche Portweiterleitung oder Firewalleinstellungen.
Voraussetzungen
Für Pinggy benötigen Sie keinerlei zusätzliche Client-Software vor Ort. Sie brauchen lediglich:
- Installiertes und laufendes ServBay: Vergewissern Sie sich, dass ServBay korrekt installiert und Ihr gewünschter lokaler Website-Dienst gestartet ist.
- Mindestens eine ServBay-Website: Richten Sie lokale Websites in ServBay ein und starten Sie diese. Typischerweise lauschen diese via Caddy oder Nginx im lokalen ServBay-Setup auf Port 80 (HTTP) oder 443 (HTTPS).
- Terminal mit SSH-Unterstützung: Auf macOS ist das Terminal standardmäßig vorhanden, auch andere Terminalemulatoren mit SSH-Unterstützung können genutzt werden.
- Grundwissen zu SSH: Sie sollten wissen, wie man SSH-Kommandos im Terminal ausführt.
Tunnel-Konfiguration in der Praxis
Zentrales Kommando
Die Einrichtung des Pinggy-Tunnels ist simpel und benötigt nur einen SSH-Befehl im Terminal. Das folgende Beispiel zeigt, wie Sie die unter ServBay konfigurierte, über Port 443 erreichbare Website servbay.new
öffentlich verfügbar machen:
ssh -p 443 -R0:localhost:443 -o StrictHostKeyChecking=no -o ServerAliveInterval=30 -t [email protected] x:localServerTls:servbay.new "u:host:servbay.new"
Wichtiger Hinweis: Ersetzen Sie XXXXXXXXXXX
im Befehl durch Ihren auf der Pinggy-Website erhaltenen Benutzernamen (meist eine Zeichenkette). servbay.new
ersetzen Sie durch die in ServBay gewünschte lokale Domain, die per Pinggy veröffentlicht werden soll (z. B. myproject.servbay.demo
).
Hier eine detaillierte Aufschlüsselung der Schlüsselpunkte dieses Kommandos:
Parameter | Erläuterung |
---|---|
-p 443 | Verbindet SSH auf Port 443 des Pinggy-Servers. Standard-HTTPS-Port erhöht Erfolgschancen beim Durchbrechen von Firewalls. |
-R0:localhost:443 | Herzstück der Remote-Portweiterleitung: 0 heißt, Pinggy vergibt einen zufälligen öffentlichen Port. Zugriffe auf diesen Port werden ins lokale localhost:443 weitergeleitet. ServBays Caddy/Nginx lauscht dort i. d. R. für HTTPS. |
-o StrictHostKeyChecking=no | Deaktiviert den SSH-Hostkey-Check – praktisch für Tests/Erstverbindung. Für Produktivbetrieb: Host-Key aktiv prüfen! |
-o ServerAliveInterval=30 | Sorgt via KeepAlive alle 30 Sekunden für Verbindungserhalt bei Inaktivität. |
-t [email protected] | Pinggy-Benutzername und Serveradresse. XXXXXXXXXXX steht für Ihren Pinggy-Usernamen. |
x:localServerTls:servbay.new | Pinggy-Parameter: Sagt Pinggy, dass Ihr lokaler Dienst TLS (HTTPS) spricht, und wie dessen Domain lautet (servbay.new ). Ersetzen Sie diesen Platzhalter. |
"u:host:servbay.new" | Weiterer Pinggy-Parameter: Setzt im HTTP-Request-Forwarding den Host-Header fest auf servbay.new (also Ihre lokale ServBay-Domain). Unverzichtbar bei mehreren Websites (virtuelle Hosts) in ServBay! |
Nach erfolgreichem Verbindungsaufbau zeigt Pinggy im Terminal die öffentliche Zugriffs-URL an – meist sowohl HTTP- als auch HTTPS-Adressen, etwa:
http://rnirh-172-188-50-148.a.free.pinggy.link
https://rnirh-172-188-50-148.a.free.pinggy.link
2
Funktionsprüfung
Nach Einrichten des Tunnels können Sie so testen, ob die Publizierung auf das Internet wie gewünscht klappt:
Empfohlener Test per
curl
: Verwenden Sie das Kommandocurl -I
(nur Header abfragen), um die öffentliche Pinggy-URL zu testen. Ersetzen Sie das Beispiel mit Ihrer tatsächlichen URL aus der Terminalausgabe.bashcurl -I https://rnirh-172-188-50-148.a.free.pinggy.link
1Läuft alles korrekt, erhalten Sie HTTP-Header wie diese zurück (z. B. vom lokalen Nginx oder Caddy):
HTTP/1.1 200 OK Connection: close Access-Control-Allow-Credentials: true Access-Control-Allow-Headers: Content-Type, Authorization Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS Access-Control-Allow-Origin: * Cache-Control: max-age=0, must-revalidate, no-cache, no-store, private Connection: keep-alive Content-Type: text/html; charset=UTF-8 Date: Tue, 18 Feb 2025 11:51:48 GMT # Das Datum variiert Expires: Sun, 02 Jan 1990 00:00:00 GMT Pragma: no-cache Server: nginx # Oder caddy etc., je nach Ihrer Konfiguration Vary: Accept-Encoding X-Frame-Options: SAMEORIGIN X-Powered-By: PHP/8.4.3 # Oder andere Stack-Angaben
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16Ein
HTTP/1.1 200 OK
-Status und der korrekteServer
-Header zeigen an, dass Ihre lokale ServBay-Webseite erfolgreich publiziert wurde.Zugriff über den Browser: Öffnen Sie auf einem beliebigen Gerät (auch aus anderen Netzwerken!) die Pinggy-HTTPS-URL (z. B.
https://rnirh-172-188-50-148.a.free.pinggy.link
). Der Inhalt entspricht exakt dem Ihrer lokalen ServBay-Site.Erwartetes Ergebnis:
- Jeder Internetnutzer kann die lokale ServBay-Website oder den Dienst via bereitgestellter Pinggy-URL erreichen.
- Läuft Ihr lokaler Dienst mit HTTPS (ServBay generiert self-signed Zertifikate automatisch), verschafft Pinggy Ihnen automatisch eine SSL-geschützte, öffentliche Verbindung mit kostenlosem Public-CA-Zertifikat – keine Zusatzkonfiguration nötig.
- Antwortzeiten und Stabilität hängen von Ihrer lokalen Internetverbindung, der Erreichbarkeit des Pinggy-Servers und dessen Last ab.
Profi-Tipps
Andere lokale Ports oder Dienste publizieren: Läuft Ihr Dienst auf einem anderen lokalen Port als 80/443 (z. B. ein Python/Node.js-App auf 8000), passen Sie die
-R
-Angabe an:bashssh -p 443 -R0:localhost:8000 -o StrictHostKeyChecking=no -o ServerAliveInterval=30 -t [email protected]
1Für nicht-Web-Services oder Services ohne Host-Header ist
x:localServerTls
bzw.u:host
meist nicht nötig.Eigene Domain (Pinggy Pro): Mit Pinggy Pro können Sie anstelle einer Zufalls-Subdomain eine eigene, individuell konfigurierbare Domain nutzen – ideal für professionelle Anwendungen. Details entnehmen Sie bitte der Pinggy-Dokumentation.
Tunnel dauerhaft verfügbar halten (mit
autossh
): SSH-Verbindungen können durch Netzwerkprobleme abreißen. Soll der Tunnel dauerhaft bestehen, empfiehlt sich das Toolautossh
. Es überwacht die Verbindung und startet sie bei Ausfall neu. Installation z. B. unter macOS via Homebrew:brew install autossh
. Nutzung:bashautossh -M 0 -t "ssh -p 443 -R0:localhost:443 -o StrictHostKeyChecking=no -o ServerAliveInterval=30 -t [email protected] x:localServerTls:servbay.new \"u:host:servbay.new\""
1Das Flag
-M 0
sagtautossh
, keine Zusatzports zum Verbindungsmonitoring zu nutzen sondern das eingebaute SSH-KeepAlive (ServerAliveInterval
) zu verwenden.Token-less Kommando: Pinggy bietet die Möglichkeit, Kommandos ohne direkte Token-/Benutzername-Angabe einzurichten – holen Sie sich einfach das einmalige Kommando über deren Website. Perfekt, wenn Sie den Tunnel anderen bereitstellen, ohne Tokens weiterzugeben.
Typische Anwendungsfälle
- Remote-Präsentation: Zeigen Sie Ihrem Kunden oder Team auf Knopfdruck die in ServBay lokal entwickelte Website oder Anwendung – ohne Deploy in ein Staging-System.
- Webhook-Debugging: Empfangen Sie Webhook-Aufrufe (etwa von Zahlungsanbietern, GitHub etc.) direkt und in Echtzeit auf dem lokalen Entwicklungsserver.
- Device-übergreifendes Testing: Testen Sie responsives Webdesign oder Kompatibilität auf unterschiedlichen Endgeräten – sogar außerhalb Ihres Heim-/Büronetzes.
- Team-Kollaboration: Stellen Sie Ihren Kollegen mit wenigen Klicks Test- und Review-Zugriff auf lokale ServBay-Services bereit.
Fehlerbehebung
Symptom | Lösungshinweis |
---|---|
SSH-Verbindung läuft ins Timeout/fehlschlägt | Prüfen Sie Ihre Internetverbindung (Pinggy-Server: a.pinggy.io erreichbar?). Kontrolle der lokalen Firewall-Einstellungen – blockiert diese evtl. ausgehende 443-Verbindungen? Stimmt Ihr Pinggy-Username? |
Pinggy-URL ist nicht erreichbar oder liefert Fehler (z. B. 502 Bad Gateway) | Prüfen Sie, ob die lokale ServBay-Website verfügbar und auf localhost:443 (oder dem in -R gewählten Port) aktiv ist. Sind Caddy/Nginx korrekt konfiguriert? |
Zugriff auf Pinggy-URL ergibt 404 (Not Found) oder Default-ServBay-Seite | Bei mehreren (virtuellen) Websites in ServBay unbedingt die Parameter x:localServerTls und u:host mit Ihrer gewünschten lokalen ServBay-Domain befüllen! Sonst erkennt ServBays Webserver den passenden virtuellen Host nicht. |
Sporadische Verbindungsabbrüche | Ursache sind meist instabile Netzwerke/Timeouts. Erhöhen Sie ServerAliveInterval oder nutzen Sie für Reconnects autossh (siehe Abschnitt „Profi-Tipps“). |
HTTPS-Zertifikatfehler | Für kostenlose User stellt Pinggy öffentliche CA-Zertifikate bereit. Bei lokalem Usage von Self-Signed-Zertifikaten warnt der Browser – Pinggys Public-CA löst das Problem beim Internetzugriff. Sicherstellen, dass der Dienst lokal auf 443/HTTPS läuft. |
Fazit
Mit Pinggy können ServBay-Nutzer in Minutenschnelle einen sicheren Tunnel ins Web aufsetzen und so lokale Websites oder Apps externen Nutzern präsentieren. Die wichtigsten Vorteile im Überblick:
- Keine zusätzliche Clientinstallation: Minimaler Aufwand in der Einrichtung und Nutzung.
- Ein-Kommando-Bedienung: Ein einziger SSH-Befehl startet den Tunnel.
- Automatisches HTTPS: Public-CA-Zertifikate für sichere, öffentlich zugängliche HTTPS-Endpoints ohne Zusatzaufwand.
- Unterstützung für HTTP- und TCP-Tunnel: Flexible Freigabe-Optionen für verschiedene Diensttypen.
- Nahtlose Integration mit ServBay: Durch korrekt gesetzten Host-Header können spezifische lokale Websites gezielt und sicher veröffentlicht werden.
- Token-less-Kommandos: Höhere Sicherheit beim Teilen von Tunnel-Kommandos.
Im Vergleich zu anderen Tools, die komplexe Clients oder Konfigurationsdateien erfordern, bietet Pinggy einen besonders leichten und bequemen Weg, test-, demo- sowie temporäre Sharing-Szenarien in lokalen ServBay-Setups zu realisieren. Für professionelle, dauerhafte oder domain-customized Tunnel empfiehlt sich das Professional-Angebot von Pinggy. Die Kombination aus ServBays starker Entwicklungsumgebung und Pinggys unkompliziertem Public-Access bringt messbaren Effizienzgewinn für Entwickler und Kollaborationsteams.