以下问题基于用反代访问的环境:

disconnected (1008): origin not allowed (open the Control UI from the gateway host or allow it in gateway.controlUi.allowedOrigins)

linux命令:

openclaw config set gateway.controlUi.allowedOrigins '["http://192.168.1.xxx"]'

或者修改配置文件在gateway下加上

"controlUi": {
"allowedOrigins": [
"https://192.168.1.xxx"
]
}

注意如果有端口得加上端口,如果是https也得写https. 端口号取决于你的反代端口。例:https://192.168.1.200:5700


disconnected (1008): device signature expired

可能问题:部署openclaw的服务器时间和你的电脑时间对不上。
解决:同步一下时间然后重启openclaw. openclaw gateway restart
没解决多试几次,我一开始也是还是报同样的错误,多试几次稀里糊涂的就好了


disconnected (1008): pairing required

错误背景:为什么会出现 “Pairing required”?

OpenClaw 采用基于设备的访问控制模型。当任何客户端(浏览器 、CLI、手机 App 或 Node 节点)首次连接到 Gateway 时:
Gateway 生成唯一的设备身份标识
创建待审批的配对请求(Pending Request)
连接被挂起,等待管理员显式批准
若 30 秒内未批准,WebSocket 返回 1008 错误码并断开
这种设计防止了未授权访问,即使有人获取了你的 Gateway URL 或 Token,没有设备配对批准也无法执行操作。

方法:命令行审批法(生产环境推荐)

这是最标准、最安全的解决方案,适用于 Docker 部署和原生安装。

步骤 1:查看待审批设备列表

新开一个终端窗口(保持 Gateway 运行),执行: openclaw devices list

输出如图:

注意事项:

若列表为空,说明请求已过期,需刷新浏览器或重启 CLI 重新触发配对
Role 列显示设备类型:browser(浏览器)、node(macOS/iOS/Android 节点)、cli(命令行)

步骤 2:批准指定设备

复制你要批准的 Request ID(例如 88b46ce0-78ac-496d-9816-e74eda25b005),执行:
openclaw devices approve 88b46ce0-78ac-496d-9816-e74eda25b005

注意:是pending里面的Request

成功响应:
Approved 4b166c26ab7be89ec40b6a589573c7b33d19d33d26b3f1526462a1e7d2fa5227

如果你使用 Docker Compose 部署 ,需在容器内执行:

#查看待审批列表
docker compose run --rm openclaw-cli devices list
#批准设备(在容器内执行 Node 命令)
docker compose exec openclaw-gateway node dist/index.js devices approve

除非注明, askADC博客 的文章均为原创,转载请注明作者和出处。
本文链接地址: http://blog.askadc.com/openclaw%e9%83%a8%e7%bd%b2%e9%94%99%e8%af%af%e8%a7%a3%e5%86%b3/

发表评论

邮箱地址不会被公开。 必填项已用*标注