
错误原因分析
从报错信息可以看出,OpenClaw 新版本不再支持直接填写 IP 地址(如 0.0.0.0),而是要求使用别名模式来配置监听地址:
合法模式: lan/loopback/custom/tailnet/auto
正确配置命令
1. 监听局域网(推荐,实现远程访问)
openclaw config set gateway.bind lan
效果:监听所有局域网网卡,同网段设备可以直接访问。 对应你之前 0.0.0.0的需求,lan是等价且合法的配置。
2. 仅本地回环(默认,仅本机访问)
openclaw config set gateway.bind loopback
3. 自定义监听地址(如需指定特定 IP)
openclaw config set gateway.bind custom
openclaw config set gateway.custom_address 192.168.244.10
🔄 配置生效步骤
- 修改配置
(以 lan模式为例):openclaw config set gateway.bind lan - 重启网关服务
: openclaw gateway restart - 验证监听状态
:
看到ss -tuln | grep 187890.0.0.0:18789或192.168.244.10:18789即配置生效。
配置修改后必须重启网关才能生效

错误原因分析
日志提示:Gateway start blocked: set gateway.mode=local (current: remote) or pass --allow-unconfigured
当前 gateway.mode为remote,但未完成完整的远程配置,系统出于安全考虑阻止了网关启动。你需要切换到 local模式,或允许未配置状态启动。
解决方案
方案 1:切换到 local 模式(推荐,本地/局域网访问)
# 修改模式为 local
openclaw config set gateway.mode local
# 重启网关
.local/bin/openclaw gateway restart
适用场景:你只需要在本机或局域网内访问 OpenClaw 网关。 效果:网关会以本地模式启动,不再需要远程配置。
方案 2:临时允许未配置状态启动(快速测试)
在启动命令后添加 --allow-unconfigured 参数:
.local/bin/openclaw gateway run --allow-unconfigured
适用场景:正在调试远程配置,暂时跳过安全检查。 注意:生产环境不建议长期使用此参数,存在安全风险。
验证启动
执行启动命令后,若看到类似日志:
13:60:00 Gateway started successfully on [::]:18789
说明网关已正常运行,你可以通过 wss://192.168.244.10:18789 访问。
补充说明
local模式:网关监听本地/局域网地址,适合日常开发和内网使用。 remote模式:需要完整配置远程连接信息(如 remote.url、password等),否则会被安全机制拦截。

错误原因分析
日志核心提示:reason=origin not allowed
你从 Windows 设备( 192.168.244.1) 访问 OpenClaw 网关(192.168.244.10:18789),但跨域来源未被网关允许,导致 WebSocket 连接在建立前就被关闭(code=1008)。这是 OpenClaw 的安全跨域限制,默认只允许从网关本机访问管理界面。
解决方案(两种任选其一)
方案 1:配置允许的跨域来源(推荐,永久生效)
修改配置,添加你的访问来源:
# 允许所有局域网来源(简单粗暴)
openclaw config set gateway.controlUi.allowedOrigins "[\"http://192.168.244.10:18789\", \"http://192.168.244.1\"]"
# 或者允许所有来源(仅测试环境使用)
# openclaw config set gateway.controlUi.allowedOrigins "[\"*\"]"注意:JSON 数组格式,字符串需转义
\"。重启网关生效:
.local/bin/openclaw gateway restart
方案 2:从网关本机打开 Control UI(安全,无需修改配置)
在 Ubuntu 服务器上直接打开浏览器访问: http://127.0.0.1:18789或通过 SSH 隧道将端口映射到本地:
然后访问:# 在你的 Windows 终端执行
ssh -N -L 18789:127.0.0.1:18789 root@192.168.244.10http://127.0.0.1:18789
验证修复
重启网关后,再次从 Windows 访问 http://192.168.244.10:18789,若不再出现 origin not allowed 错误,且能正常加载管理界面,说明修复成功。
补充说明
allowedOrigins是一个 JSON 数组,可添加多个信任的来源地址。 生产环境不建议使用 "*"通配符,避免安全风险,应只添加明确需要访问的 IP/域名。若配置后仍报错,检查 allowedOrigins的 JSON 格式是否正确(逗号、引号、括号是否完整)。

四、control ui requires device identity
错误原因分析
日志核心提示:reason=control ui requires device identity (use HTTP secure secure context)
你正在**非安全上下文(HTTP)下访问 OpenClaw 控制界面,而 Control UI 要求必须在安全上下文(HTTPS/localhost/127.0.0.1)**中才能加载,否则会拒绝 WebSocket 连接(code=1008)。 这是浏览器的安全限制,OpenClaw 遵循了这一规范。
解决方案(三种任选其一)
方案 1:使用 SSH 隧道访问(推荐,安全且无需配置 HTTPS)
在你的 Windows 终端执行端口映射命令,将远程端口映射到本地 127.0.0.1:
ssh -N -L 18789:127.0.0.1:18789 root@192.168.244.10
然后在 Windows 浏览器访问:
http://127.0.0.1:18789
127.0.0.1被浏览器视为安全上下文,可绕过设备身份校验。
方案 2:从网关本机直接访问(最简单)
在 Ubuntu 服务器上打开浏览器,直接访问:
http://127.0.0.1:18789
本机回环地址同样属于安全上下文,不会触发校验。
方案 3:配置 HTTPS(生产环境推荐)
生成自签名证书(或使用 Let's Encrypt 申请正式证书): openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes修改 OpenClaw 配置启用 HTTPS: openclaw config set gateway.tls.enabled true
openclaw config set gateway.tls.cert_file /path/to/cert.pem
openclaw config set gateway.tls.key_file /path/to/key.pem重启网关后,通过 HTTPS 访问: https://192.168.244.10:18789
验证修复
按方案 1 或 2 访问后,若不再出现 control ui requires device identity 错误,且能正常加载管理界面,说明修复成功。
补充说明
安全上下文限制是现代浏览器的标准安全机制,目的是防止敏感操作在不安全的网络环境中被窃听或篡改。 自签名证书在浏览器中会显示安全警告,仅适合测试环境;生产环境请使用受信任的 CA 颁发的证书。

步骤 1:查看待审批设备列表
在终端中执行以下命令(保持 Gateway 运行):
openclaw devices list步骤 2:批准指定设备
复制你要批准的 Request ID(例如 4f9db1bd-a1cc-4xxxxxxxxxxxxxxx),执行:
openclaw devices approve 4f9db1bd-a1cc-4xxxxxxxxxx
夜雨聆风