Wenn Sie eine stabile HTTPS-URL für die OpenClaw Gateway-Konsole, Webhooks oder Integrationen benötigen, ist die direkte Offenlegung des App-Ports im Internet selten der Endzustand. Dieser Leitfaden richtet sich an Teams, die OpenClaw bereits auf Bare-Metal oder einem Remote-Mac ausführen und planen, es an die Öffentlichkeit zu bringen: aDirekt- vs. Reverse-Proxy-Entscheidungstabelle, minimale Nginx- und Caddy-Schnipselmit WebSocket-freundlichen Headern, aTLS- und Firewall-Checkliste, und aVNC-freundlicher Verifizierungspfadvom Loopback zu einem anderen Netzwerk. Querverweise verweisen auf Docker, häufige Fehler und die stille „Keine Antwort“-Fehlerbehebung auf dieser Website.
1. Schwachstellen bei der Offenlegung von Gateway ohne Proxy
- Einfaches HTTP und Vertrauen:Anmeldeinformationen und Rückrufe über das offene Internet ohne TLS sind fragil; Viele Anbieter verlangen HTTPS.
- WebSockets unter naiver Weiterleitung:fehlen
Upgrade/Connectionoder aggressive Zeitüberschreitungen sehen in der Benutzeroberfläche wie „zufällige Verbindungsabbrüche“ aus. - Größere Angriffsfläche:Durch die Veröffentlichung des App-Ports wird das Scan-Rauschen direkt erhöht. Ein Proxy ist der Ort, an dem Sie Zulassungslisten, Ratenbeschränkungen und konsistente Zugriffsprotokolle anhängen.
- Blinde Flecken auf dem Remote-Mac:„SSH funktioniert“ beweist nicht, dass die macOS-Firewall und Cloud-Sicherheitsgruppen mit dem übereinstimmen, was Sie in VNC sehen.
- Docker vs. Host-Listener:
127.0.0.1gegen0.0.0.0ändert, wo der Proxy ausgeführt werden muss – siehe die offizielle Docker-Anleitung auf dieser Website.
2. Entscheidungstabelle: direkt vs. TLS + Reverse-Proxy
| Dimension | Direkter öffentlicher Hafen | TLS + Nginx/Caddy |
|---|---|---|
| Verschlüsselung | Sie müssen TLS in der App beenden oder bei HTTP bleiben | TLS am Edge beenden; Upstream kann HTTP auf Loopback bleiben |
| WebSocket | Jeder Hop muss kooperieren | Explizite Header/Timeouts auf Nginx; Caddy führt normalerweise ein automatisches Upgrade durch |
| Mehrere Dienste | Ein Port pro Dienst | Virtuelle Hosts auf einer IP |
| Operationen | Weniger bewegliche Teile am Tag Null | Zusätzlicher Service, bessere Sicherheit und langfristige Sichtbarkeit |
| Fehlerbehebung bei VNC | Schwieriger, Tests zu schichten | curl -vgegen stromaufwärts, dann dagegenhttps://domain |
3. Wann Sie Nginx oder Caddy hinzufügen sollten
- Sie benötigen eine stabile Domain und HTTPS für Lesezeichen, OAuth-Weiterleitungen oder Webhooks.
- Das Verhalten der Echtzeit-Benutzeroberfläche verschlechtert sich auf langen Pfaden ohne ordnungsgemäße Upgrade-Behandlung.
- Sie hosten andere Sites auf demselben Remote-Mac und möchten eine Zertifikatsgeschichte.
- Die Richtlinie erlaubt nur 443/80 aus dem Internet, während die App im Loopback bleibt.
openclaw doctorschlägt vor, sensible Dienste an localhost zu binden und sie mit einem Proxy zu versehen (folgen Sie der Ausgabe Ihrer Version).
4. Minimaler Nginx: 18789, Host, WebSocket
Lehrausschnitt – Hostnamen, Zertifikatspfade und Upstream-Port ersetzen. Für die Produktion härten (Verschlüsselungen, OCSP-Heftung, Protokollierung, Schwärzung, Ratenbegrenzungen).
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen 443 ssl http2;
server_name claw.example.com;
ssl_certificate /etc/letsencrypt/live/claw.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/claw.example.com/privkey.pem;
location / {
proxy_pass http://127.0.0.1:18789;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 3600s;
proxy_send_timeout 3600s;
}
}
Verwenden Sie HTTP/1.1 zum Upstream, weiterleitenUpgrade/Connection, und halten Sie die Header ehrlich, damit die App das Client-Schema kennt.
5. Minimaler Caddy: automatisches HTTPS
claw.example.com {
reverse_proxy 127.0.0.1:18789
}
Caddy erhält und erneuert Zertifikate, wenn die Ports 80/443 für ACME erreichbar sind. Fügen Sie je nach Richtlinie Matcher, zusätzliche Header oder IP-Filter hinzu.
6. Zertifikate, DNS, Sicherheitsgruppen
DNS verweist auf den öffentlichen Eintrag
Überprüfen Sie die A/AAAA-Datensätze. Wenn ein CDN vor dem Host liegt, bestätigen Sie, dass WebSocket und Challenge-Pfade weiterhin funktionieren.
Cloud-Firewall
Erlauben Sie 443 und normalerweise 80 für HTTP-01; Halten Sie 18789 vom öffentlichen Regelsatz fern, wenn Sie Loopback-Upstream verwenden.
macOS-Firewall in VNC
Überprüfen Sie die Systemeinstellungen; Unterscheiden Sie Nginx/Caddy vom OpenClaw-Prozess.
Verlängerung neu laden
Laden Sie Nginx nach der Verlängerung neu oder lassen Sie Caddy die Zertifikate abholen, damit diese nicht stillschweigend ablaufen.
Layered-Curl-Tests
Loopback-Upstream, dann lokales HTTPS, dann ein externes Netzwerk.
6b. Optionale IP-Zulassungslisten und Ratenlimits
Beschränken Sie für kleine Teams die Admin-Oberflächen nach Quell-IP oder VPN-Ausgang. Auf Nginx-Nutzungallow/denyoder eine WAF; Verwenden Sie auf dem Caddy Matcher wie zremote_ipgemäß Ihren Versionsdokumenten. Hinzufügenlimit_req(oder gleichwertig) auf Hot-Endpunkten, damit Brute-Force und versehentliche Schleifen das Gateway nicht lahmlegen.
Bevorzugen Sie bei Webhooks die Signaturüberprüfung durch den Anbieter. IP-Bereiche können sich ändern. Dokumentieren Sie Zulassungslisten und Zertifikatsabläufe in einem Kalender.
7. Verifizierung in sieben Schritten auf einem VNC-Remote-Mac
- Führen Sie in einem VNC-Terminal Folgendes aus:
openclaw doctorund bestätigen Sie, dass die Abhöradressen mit der Konfiguration übereinstimmen. curl -v http://127.0.0.1:18789/(oder Ihren Upstream) und überprüfen Sie die Statuscodes.- Validieren Sie die Nginx/Caddy-Syntax und laden Sie sie sauber neu.
- Offen
https://your-domainin einem Browser auf dem Mac; Bestätigen Sie WebSocket 101 in Devtools. - Testen Sie erneut über mobile Daten oder ein anderes Netzwerk, um Fehlalarme nur im LAN zu vermeiden.
- Korrelieren Sie Proxy-Zugriffsprotokolle mit OpenClaw-Protokollen, wenn Sie stille Fehler debuggen (siehe Artikel „Keine Antwort“).
- Warten Sie nach Firewall-Änderungen auf die Weitergabe und führen Sie den externen Test erneut durch.
8. Zitierbare Parameter und zugehörige Leitfäden
proxy_read_timeoutWerte zerstören langlebige Verbindungen; Beginnen Sie mit großzügigen Upstream-Timeouts und stimmen Sie die Metriken ab.Informationen zu Installations- und Laufzeitfehlern finden Sie hierHäufige Fehler und zehn Korrekturen. Für stille Kanäle folgen Sie bitteFehlerbehebung bei keiner Antwort. Beginnen Sie bei Containern mitoffizielles Docker Compose auf einem Remote-Mac.
Abschluss: Warum VNC auf einem Remote-Mac immer noch hilft
Die Einrichtung des öffentlichen Gateways kombiniert TLS, langlebige Verbindungen und Firewalls auf Betriebssystemebene – ein Debugging allein über SSH ist schwierig, wenn Sie einen Browser und Systemaufforderungen an einem Ort benötigen. Wenn Sie einen VNC-fähigen Remote-Mac (z. B. von VNCMac) mieten, können Sie Doctor ausführen, Proxys neu laden und WebSockets visuell validieren, ohne Hardware zu kaufen, die Sie nur für ein kurzes Projekt benötigen. Halten Sie den Rand gesperrt: TLS auf 443, Loopback-Upstream und die Docker- und Fehlerbehebungsbeiträge dieser Site als Ihr Runbook.