OpenClaw, Gateway panosu ve WebSocket bağlantı noktası için Tailscale Serve (tailnet) veya Funnel (genel) yapılandırmasını otomatik olarak yapabilir. Bu, Gateway’in loopback’e bağlı kalmasını sağlarken Tailscale HTTPS, yönlendirme ve (Serve için) kimlik üstbilgileri sağlar.Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
Modlar
serve:tailscale serveüzerinden yalnızca tailnet’e açık Serve. Gateway127.0.0.1üzerinde kalır.funnel:tailscale funnelüzerinden genel HTTPS. OpenClaw paylaşılan bir parola gerektirir.off: Varsayılan (Tailscale otomasyonu yok).
off, OpenClaw’ın Serve veya Funnel’ı yönetmediği anlamına gelir; yerel Tailscale daemon’unun durdurulduğu veya oturumunun kapatıldığı anlamına gelmez.
Kimlik Doğrulama
El sıkışmayı denetlemek içingateway.auth.mode değerini ayarlayın:
none(yalnızca özel giriş)token(OPENCLAW_GATEWAY_TOKENayarlandığında varsayılan)password(OPENCLAW_GATEWAY_PASSWORDveya yapılandırma üzerinden paylaşılan gizli değer)trusted-proxy(kimlik farkındalığı olan ters proxy; bkz. Güvenilen Proxy Kimlik Doğrulaması)
tailscale.mode = "serve" ve gateway.auth.allowTailscale true olduğunda, Control UI/WebSocket kimlik doğrulaması token/parola sağlamadan Tailscale kimlik üstbilgilerini (tailscale-user-login) kullanabilir. OpenClaw, kabul etmeden önce x-forwarded-for adresini yerel Tailscale daemon’u (tailscale whois) üzerinden çözümleyip üstbilgiyle eşleştirerek kimliği doğrular. OpenClaw bir isteği yalnızca loopback’ten Tailscale’in x-forwarded-for, x-forwarded-proto ve x-forwarded-host üstbilgileriyle geldiğinde Serve olarak değerlendirir.
Tarayıcı cihaz kimliği içeren Control UI operatör oturumları için bu doğrulanmış Serve yolu cihaz eşleştirme gidiş dönüşünü de atlar. Tarayıcı cihaz kimliğini atlamaz: cihazsız istemciler yine reddedilir ve node rolü veya Control UI dışı WebSocket bağlantıları normal eşleştirme ve kimlik doğrulama denetimlerini izlemeye devam eder.
HTTP API uç noktaları (örneğin /v1/*, /tools/invoke ve /api/channels/*) Tailscale kimlik üstbilgisi kimlik doğrulamasını kullanmaz. Bunlar yine Gateway’in normal HTTP kimlik doğrulama modunu izler: varsayılan olarak paylaşılan gizli değerle kimlik doğrulaması veya bilinçli olarak yapılandırılmış trusted-proxy / özel giriş none kurulumu.
Bu tokensız akış Gateway ana makinesinin güvenilir olduğunu varsayar. Güvenilmeyen yerel kod aynı ana makinede çalışabiliyorsa gateway.auth.allowTailscale değerini devre dışı bırakın ve bunun yerine token/parola kimlik doğrulaması gerektirin.
Açık paylaşılan gizli değer kimlik bilgileri gerektirmek için gateway.auth.allowTailscale: false ayarlayın ve gateway.auth.mode: "token" veya "password" kullanın.
Yapılandırma örnekleri
Yalnızca tailnet (Serve)
https://<magicdns>/ (veya yapılandırdığınız gateway.controlUi.basePath)
Yalnızca tailnet (Tailnet IP’ye bağla)
Gateway’in doğrudan Tailnet IP üzerinde dinlemesini istediğinizde bunu kullanın (Serve/Funnel yok).- Control UI:
http://<tailscale-ip>:18789/ - WebSocket:
ws://<tailscale-ip>:18789
Loopback (
http://127.0.0.1:18789) bu modda çalışmaz.Genel internet (Funnel + paylaşılan parola)
OPENCLAW_GATEWAY_PASSWORD kullanmayı tercih edin.
CLI örnekleri
Notlar
- Tailscale Serve/Funnel,
tailscaleCLI’nin kurulu ve oturum açılmış olmasını gerektirir. tailscale.mode: "funnel", genel açıklığı önlemek için kimlik doğrulama modupassworddeğilse başlamayı reddeder.- OpenClaw’ın kapatma sırasında
tailscale serveveyatailscale funnelyapılandırmasını geri almasını istiyorsanızgateway.tailscale.resetOnExitayarlayın. - Harici olarak yapılandırılmış bir
tailscale funnelrotasını Gateway yeniden başlatmaları boyunca canlı tutmak içingateway.tailscale.preserveFunnel: trueayarlayın. Etkinleştirildiğinde ve Gatewaymode: "serve"ile çalıştığında, OpenClaw Serve’ü yeniden uygulamadan öncetailscale funnel statusdeğerini denetler ve bir Funnel rotası Gateway bağlantı noktasını zaten kapsıyorsa bunu atlar. OpenClaw tarafından yönetilen Funnel’ın yalnızca parola politikası değişmez. gateway.bind: "tailnet"doğrudan Tailnet bağlamasıdır (HTTPS yok, Serve/Funnel yok).gateway.bind: "auto"loopback’i tercih eder; yalnızca Tailnet istiyorsanıztailnetkullanın.- Serve/Funnel yalnızca Gateway kontrol UI + WS yüzeyini açığa çıkarır. Node’lar aynı Gateway WS uç noktası üzerinden bağlanır, bu nedenle Serve node erişimi için çalışabilir.
Tarayıcı denetimi (uzak Gateway + yerel tarayıcı)
Gateway’i bir makinede çalıştırıyor ancak başka bir makinedeki tarayıcıyı yönetmek istiyorsanız, tarayıcı makinesinde bir node host çalıştırın ve ikisini de aynı tailnet üzerinde tutun. Gateway tarayıcı eylemlerini node’a proxy’ler; ayrı bir denetim sunucusu veya Serve URL’si gerekmez. Tarayıcı denetimi için Funnel’dan kaçının; node eşleştirmesini operatör erişimi gibi ele alın.Tailscale ön koşulları + sınırlar
- Serve, tailnet’iniz için HTTPS’in etkin olmasını gerektirir; eksikse CLI bunu sorar.
- Serve, Tailscale kimlik üstbilgilerini enjekte eder; Funnel etmez.
- Funnel, Tailscale v1.38.3+, MagicDNS, HTTPS etkinliği ve bir funnel node özniteliği gerektirir.
- Funnel, TLS üzerinden yalnızca
443,8443ve10000bağlantı noktalarını destekler. - macOS üzerinde Funnel, açık kaynak Tailscale uygulama varyantını gerektirir.
Daha fazla bilgi
- Tailscale Serve genel bakış: https://tailscale.com/kb/1312/serve
tailscale servekomutu: https://tailscale.com/kb/1242/tailscale-serve- Tailscale Funnel genel bakış: https://tailscale.com/kb/1223/tailscale-funnel
tailscale funnelkomutu: https://tailscale.com/kb/1311/tailscale-funnel