Tailscale (Gateway-instrumentpanel)
OpenClaw kan automatiskt konfigurera Tailscale Serve (tailnet) eller Funnel (offentligt) för Gateway-instrumentpanelen och WebSocket-porten. Detta håller Gateway bunden till loopback medan Tailscale tillhandahåller HTTPS, routing och (för server) identitetshuvuden.Lägen
serve: Endast Tailnet-Serve viatailscale serve. Gateway stannar på127.0.1.trattel: Offentlig HTTPS viatailscale tratt. OpenClaw kräver ett delat lösenord.off: Standard (ingen Tailscale-automatisering).
Autentisering
Sättgateway.auth.mode för att styra handskakningen:
token(standard närOPENCLAW_GATEWAY_TOKENär satt)password(delad hemlighet viaOPENCLAW_GATEWAY_PASSWORDeller konfig)
tailscale.mode = "serve" och gateway.auth.allowTailscale är true,
giltig Serve proxy förfrågningar kan autentiseras via Tailscale identitetshuvuden
(tailscale-user-login) utan att ange ett token/lösenord. OpenClaw verifierar
identiteten genom att lösa x-forwarded-for-adressen via den lokala Tailscale
-demonen (tailscale whois) och matcha den med huvudet innan den accepteras.
OpenClaw behandlar endast en begäran som Serve när den anländer från loopback med
Tailscale’s x-forwarded-for, x-forwarded-proto och x-forwarded-host
headers.
För att kräva explicita användaruppgifter, ange gateway.auth.allowTailscale: false eller
tvinga gateway.auth.mode: "password".
Konfig-exempel
Endast tailnet (Serve)
https://<magicdns>/ (eller din konfigurerade gateway.controlUi.basePath)
Endast tailnet (bind till Tailnet-IP)
Använd detta när du vill att Gateway ska lyssna direkt på Tailnet-IP:n (ingen Serve/Funnel).- Kontroll-UI:
http://<tailscale-ip>:18789/ - WebSocket:
ws://<tailscale-ip>:18789
http://127.0.0.1:18789) kommer inte att fungera i detta läge.
Offentligt internet (Funnel + delat lösenord)
OPENCLAW_GATEWAY_PASSWORD framför att checka in ett lösenord på disk.
CLI-exempel
Noteringar
- Tailscale Serve/Funnel kräver att
tailscaleCLI är installerat och inloggat. tailscale.mode: "funnel"vägrar att starta om inte autentiseringsläget ärpasswordför att undvika offentlig exponering.- Sätt
gateway.tailscale.resetOnExitom du vill att OpenClaw ska ångratailscale serveellertailscale funnel-konfiguration vid nedstängning. gateway.bind: "tailnet"är en direkt Tailnet-bindning (ingen HTTPS, ingen Serve/Funnel).gateway.bind: "auto"föredrar loopback; användtailnetom du vill ha endast tailnet.- Serva/Trnel endast exponera Gateway control UI + WS. Noder ansluter över samma Gateway WS slutpunkt, så Serve kan fungera för nod åtkomst.
Webbläsarkontroll (fjärr-Gateway + lokal webbläsare)
Om du kör Gateway på en maskin men vill köra en webbläsare på en annan maskin, kör en nod värd på webbläsarmaskinen och hålla båda på samma tailnet. Gateway kommer proxy webbläsare åtgärder till noden, ingen separat kontrollserver eller Serve URL behövs. Undvik Funnel för webbläsarkontroll; behandla nodparning som operatörsåtkomst.Tailscale-förutsättningar + begränsningar
- Serve kräver att HTTPS är aktiverat för ditt tailnet; CLI:t uppmanar om det saknas.
- Serve injicerar Tailscales identitetshuvuden; Funnel gör det inte.
- Funnel kräver Tailscale v1.38.3+, MagicDNS, HTTPS aktiverat och ett funnel-node-attribut.
- Funnel stöder endast portarna
443,8443och10000över TLS. - Funnel på macOS kräver den öppna källkodsvarianten av Tailscale-appen.
Läs mer
- Översikt över Tailscale Serve: https://tailscale.com/kb/1312/serve
- Kommandot
tailscale serve: https://tailscale.com/kb/1242/tailscale-serve - Översikt över Tailscale Funnel: https://tailscale.com/kb/1223/tailscale-funnel
- Kommandot
tailscale funnel: https://tailscale.com/kb/1311/tailscale-funnel