- 默认:
http://<host>:18789/ - 使用
gateway.tls.enabled: true:https://<host>:18789/ - 可选前缀:设置
gateway.controlUi.basePath(例如/openclaw)
配置(默认启用)
存在资源文件(dist/control-ui)时,Control UI 默认启用:
Webhooks
当hooks.enabled=true 时,Gateway 网关还会在同一 HTTP 服务器上公开一个 webhook 端点。有关身份验证和载荷的信息,请参阅 Gateway 配置参考中的 hooks。
管理 HTTP RPC
POST /api/v1/admin/rpc 通过 HTTP 公开部分 Gateway 网关控制平面方法。默认关闭;仅在启用 admin-http-rpc 插件时注册。有关身份验证模型、允许的方法以及与 WebSocket API 的比较,请参阅管理 HTTP RPC。
Tailscale 访问
- 集成式 Serve(推荐)
- Tailnet 绑定 + 令牌
- 公共互联网(Funnel)
让 Gateway 网关保持在环回地址上,并由 Tailscale Serve 进行代理:启动 Gateway 网关:打开
https://<magicdns>/(或你配置的 gateway.controlUi.basePath)。安全注意事项
- 默认需要 Gateway 网关身份验证:令牌、密码、可信代理,或启用时的 Tailscale Serve 身份标头。
- 非环回绑定仍然需要 Gateway 网关身份验证:令牌/密码身份验证,或配有
gateway.auth.mode: "trusted-proxy"的身份感知型反向代理。 - 新手引导向导默认创建共享密钥身份验证,并且通常会生成 Gateway 网关令牌,即使在环回地址上也是如此。
- 在共享密钥模式下,UI 会在 WebSocket 握手期间发送
connect.params.auth.token或connect.params.auth.password。 - 使用
gateway.tls.enabled: true时,本地仪表板/状态辅助工具会呈现https://URL 和wss://WebSocket URL。 - 在携带身份信息的模式(Tailscale Serve、
trusted-proxy)下,WebSocket 身份验证检查通过请求标头而非共享密钥完成。 - 对于公开的非环回 Control UI 部署,请显式设置
gateway.controlUi.allowedOrigins(完整来源)。对于环回地址、RFC1918/链路本地地址、.local、.ts.net和 Tailscale CGNAT 主机,无需设置即可接受私有同源加载。 gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback: true会启用 Host 标头来源回退;这是一种危险的安全降级。- 使用 Serve 时,如果
gateway.auth.allowTailscale: true,Tailscale 身份标头即可满足 Control UI/WebSocket 身份验证要求(无需令牌/密码)。HTTP API 端点不使用 Tailscale 身份标头;它们始终遵循 Gateway 网关的常规 HTTP 身份验证模式。设置gateway.auth.allowTailscale: false可要求即使通过 Serve 访问也必须提供显式凭据。此无令牌流程假定 Gateway 网关主机本身可信。请参阅 Tailscale和安全。
构建 UI
Gateway 网关从dist/control-ui 提供静态文件: