以下问题基于用反代访问的环境:
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