Anleitung zur Bereitstellung des Pinggy Reverse Proxy-Dienstes in ServBay
Pinggy ist ein einfach zu bedienendes Tool für das interne Netzwerk, das durch Reverse-Proxy-Technologie Ihre lokalen Dienste sicher im Internet zugänglich macht. Diese Anleitung beschreibt detailliert, wie Sie Pinggy in der ServBay-Umgebung verwenden, um den Internetzugriff auf lokale Webdienste schnell einzurichten.
Technische Prinzipien
Pinggy erstellt einen sicheren SSH-Tunnel, um lokale Dienste, die hinter NAT/Firewalls bereitgestellt sind, auf das öffentliche Internet zu mappen. In der ServBay-Anwendungsszenario ermöglicht dies Entwicklern, lokale Webdienste in Echtzeit zu veröffentlichen, was die Teamarbeit, Remote-Tests und Präsentationen erleichtert.
Vorbereitung der Umgebung
Es ist keine Installation eines Clients erforderlich! Ein großer Vorteil von Pinggy besteht darin, dass es keine Software auf dem lokalen Computer benötigt. Sie benötigen nur ein Terminal, das SSH unterstützt.
Tunnelkonfiguration
Kernbefehle
Das Einrichten eines Tunnels mit Pinggy ist sehr einfach. Führen Sie einfach den folgenden Befehl im Terminal aus:
ssh -p 443 -R0:localhost:443 -o StrictHostKeyChecking=no -o ServerAliveInterval=30 -t [email protected] x:localServerTls:servbay.new "u:host:servbay.new"
Parameter-Komponente | Beschreibung |
---|---|
-p 443 | Legt den Port für die SSH-Verbindung zum Pinggy-Server auf 443 (Standardport für HTTPS) fest. |
-R0:localhost:443 | Remote-Port-Weiterleitung. 0 bedeutet, dass der Pinggy-Server automatisch einen zufälligen Port zuweist. localhost:443 bedeutet, dass der Remote-Port auf den lokalen Port 443 (HTTPS) weitergeleitet wird. |
-o StrictHostKeyChecking=no | Deaktiviert die Überprüfung des SSH-Host-Schlüssels (nützlich bei der ersten Verbindung oder beim Testen, jedoch nicht empfohlen für die Produktionsumgebung). |
-o ServerAliveInterval=30 | Sendet alle 30 Sekunden eine Keep-Alive-Nachricht, um die SSH-Verbindung aktiv zu halten. |
-t [email protected] | Benutzername und Serveradresse für Pinggy. |
x:localServerTls:servbay.new | Benutzerdefinierte Parameter von Pinggy, die den TLS-Domainnamen des lokalen Servers auf servbay.new festlegen. |
"u:host:servbay.new" | Benutzerdefinierte Parameter von Pinggy, die den Host -Header für eingehende Anfragen auf servbay.new festlegen. |
Nach erfolgreichem Ausführen des Befehls wird die URL für den Zugriff angezeigt:
http://rnirh-172-188-50-148.a.free.pinggy.link
https://rnirh-172-188-50-148.a.free.pinggy.link
2
Dienstverifikation
- Überprüfung mit
curl
(empfohlen): Verwenden Sie dencurl
-Befehl zum Testen.
curl -I https://rnirh-172-188-50-148.a.free.pinggy.link
Der Ausgabetext lautet wie folgt:
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
Expires: Sun, 02 Jan 1990 00:00:00 GMT
Pragma: no-cache
Server: nginx
Vary: Accept-Encoding
X-Frame-Options: SAMEORIGIN
X-Powered-By: PHP/8.4.3
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Zugriff über den Browser: Öffnen Sie direkt den Browser und gehen Sie zu
https://rnirh-172-188-50-148.a.free.pinggy.link
.Erwartetes Ergebnis:
- Präsentation von Webinhalten, die mit den lokalen ServBay-Diensten übereinstimmen.
- Wenn Ihr lokaler Dienst HTTPS konfiguriert hat, unterstützt Pinggy auch automatisch HTTPS.
- Die Reaktionszeiten sind in der Regel schnell (abhängig von Ihrem lokalen Netzwerk und der Verbindung zum Pinggy-Server).
Fortgeschrittene Tipps
Benutzerdefinierte Domain: Pinggy Pro-Benutzer können eine benutzerdefinierte Domain verwenden. Detaillierte Informationen finden Sie in der Pinggy-Dokumentation.
TCP-Tunnel: Wenn Ihr Dienst nicht HTTP/HTTPS ist, können Sie die TCP-Tunnelfunktion von Pinggy verwenden:
bashssh -R <REMOTE_PORT>:localhost:<LOCAL_PORT> a.pinggy.io
1Ersetzen Sie
<REMOTE_PORT>
durch den Port, den Sie auf dem Pinggy-Server verwenden möchten.Persistente Tunnel (mit
autossh
): Wenn Ihr Netzwerk instabil ist oder Sie den Tunnel längere Zeit geöffnet lassen möchten, empfehlen wir die Verwendung vonautossh
.autossh
stellt nach einem Verbindungsabbruch automatisch die Verbindung wieder her.
Fehlersuche
Erscheinung | Lösung |
---|---|
Verbindungszeitüberschreitung | Überprüfen Sie, ob der ServBay-Dienst läuft und ob <LOCAL_PORT> korrekt ist. |
404-Fehler (Nicht gefunden) | Wenn Sie virtuelle Hosts verwenden, stellen Sie sicher, dass Sie den curl -Befehl gemäß den Anweisungen im „Konfigurationsbeispiel“ (mit dem richtigen Host -Header) verwenden. |
Kein Zugriff auf die Pinggy-URL | Überprüfen Sie Ihre Internetverbindung und stellen Sie sicher, dass Sie a.pinggy.io erreichen können. |
Intermittierender Abbruch | Dies könnte durch ein instabiles Netzwerk verursacht werden. Versuchen Sie, autossh zu verwenden, um eine stabilere Verbindung herzustellen (siehe Abschnitt „Fortgeschrittene Tipps“). |
Zusammenfassung des Lösungsansatzes
Mit Pinggy können Entwickler in der ServBay-Umgebung ganz einfach sichere Internetzugangskanäle einrichten. Dieses Verfahren bietet folgende Vorteile:
- Keine Client-Installation erforderlich: Vereinfachter Einrichtungsprozess und reduzierte Abhängigkeiten.
- One-Click-Operation: Nur ein SSH-Befehl ist erforderlich, um einen Tunnel zu starten.
- Automatische HTTPS-Unterstützung: Keine manuelle Konfiguration von SSL-Zertifikaten erforderlich.
- Unterstützung von HTTP- und TCP-Tunneln: Deckt verschiedene Arten von Dienstanforderungen ab.
- Token-loser Befehl: URLs können direkt geteilt werden, ohne sich um die Offenlegung von Token sorgen zu müssen.
Pinggy bietet eine bequemere Möglichkeit als Ngrok, insbesondere für schnelle Tests und temporäres Teilen lokaler Dienste. Für Szenarien, die eine langfristige stabile Ausführung oder benutzerdefinierte Domains erfordern, sollte die Pro-Version von Pinggy in Betracht gezogen werden.