Tailscale
为 Gateway 仪表板集成的 Tailscale Serve / Funnel。
OpenClaw 可以自动为 Gateway 仪表板和 WebSocket 端口配置 Tailscale Serve(尾网)或 Funnel(公共)。
这样 Gateway 保持绑定到回环地址,而
Tailscale 提供 HTTPS、路由和(对于 Serve)身份头。
模式
仅尾网通过 tailscale serve。Gateway 保持在 127.0.0.1。
公共 HTTPS 通过 tailscale funnel。OpenClaw 需要共享密码。
默认(无 Tailscale 自动化)。
认证
设置 gateway.auth.mode 来控制握手:
(如果设置了 OPENCLAW_GATEWAY_TOKEN 则为默认)
(通过 OPENCLAW_GATEWAY_PASSWORD 或配置中的共享密钥)
如果 tailscale.mode = "serve" 且 gateway.auth.allowTailscale 为 true,
有效的 Serve 代理请求可以通过 Tailscale 身份头认证
(tailscale-user-login) 而无需提供令牌/密码。OpenClaw 通过
本地 Tailscale 解析 x-forwarded-for 地址来识别身份,
然后使用守护进程 (tailscale whois) 与头匹配,在接受之前验证。
如果请求来自回环地址,OpenClaw 仅在有 Tailscale 的
x-forwarded-for、x-forwarded-proto、x-forwarded-host
头时才将其视为 Serve。
要要求显式凭据,设置 gateway.auth.allowTailscale: false 或
强制 gateway.auth.mode: "password"。
配置示例
#
仅尾网(Serve)
{
gateway: {
bind: "loopback",
tailscale: { mode: "serve" },
},
}打开:https://<magicdns>/(或您配置的 gateway.controlUi.basePath)
#
仅尾网(绑定到尾网 IP)
如果您希望 Gateway 直接在尾网 IP 上监听(无 Serve/Funnel),请使用此选项。
{
gateway: {
bind: "tailnet",
auth: { mode: "token", token: "your-token" },
},
}从另一个尾网设备连接:
控制 UI:http://<tailscale-ip>:18789/
WebSocket:ws://<tailscale-ip>:18789
注意:回环地址(http://127.0.0.1:18789)在此模式下无法工作。
#
公共互联网(Funnel + 共享密码)
{
gateway: {
bind: "loopback",
tailscale: { mode: "funnel" },
auth: { mode: "password", password: "replace-me" },
},
}优先使用 OPENCLAW_GATEWAY_PASSWORD 而不是将密码存储在磁盘上。
CLI 示例
openclaw gateway --tailscale serve openclaw gateway --tailscale funnel --auth password
注意事项
Tailscale Serve/Funnel 需要安装并登录 tailscale CLI。
tailscale.mode: "funnel" 除非认证模式为 password,否则将拒绝启动以避免公共暴露。
如果您希望 OpenClaw 在退出时撤销 tailscale serve,请设置 gateway.tailscale.resetOnExit
或退出时的 tailscale funnel 配置。
gateway.bind: "tailnet" 是直接尾网绑定(无 HTTPS,无 Serve/Funnel)。
gateway.bind: "auto" 优先使用回环地址。如果您只想使用尾网,请使用 tailnet。
Serve/Funnel 仅公开 Gateway 控制 UI + WS。节点连接通过
相同的 Gateway WS 端点进行,因此 Serve 可用于节点访问。
浏览器控制(远程 Gateway + 本地浏览器)
如果您在一台机器上运行 Gateway 但想从另一台机器控制浏览器,
在浏览器机器上运行 节点主机 并将两者保持在同一尾网中。
Gateway 将浏览器操作代理到节点。不需要单独的控制服务器或 serve URL。
避免将 Funnel 用于浏览器控制。将节点配对视为操作员访问。
Tailscale 先决条件 + 限制
Serve 需要启用尾网 HTTPS。如果没有,CLI 会提示您。
Serve 会注入 Tailscale 身份头。Funnel 不会。
Funnel 需要 Tailscale v1.38.3+、MagicDNS、启用 HTTPS 和 Funnel 节点属性。
Funnel 仅支持 TLS 上的端口 443、8443、10000。
macOS 上的 Funnel 需要开源版本的 Tailscale 应用。
了解更多
Tailscale Serve 概述:https://tailscale.com/kb/1312/serve
tailscale serve 命令:https://tailscale.com/kb/1242/tailscale-serve
Tailscale Funnel 概述:https://tailscale.com/kb/1223/tailscale-funnel
tailscale funnel 命令:https://tailscale.com/kb/1311/tailscale-funnel