最近因为云服务器到期,在另一个云环境安装openclaw 2026.4.15版本后,互联网访问gateway 仪表盘出现了一系列问题,总被浏览器抛出一句control ui requires device identity (use HTTPS or localhost secure context)拦住去路?反复核对令牌、重启网关,却依然无法连接?别慌,这并非 OpenClaw 本身的故障,而是浏览器的安全策略给你设下的 “隐形门槛”。
第一关:局域网无法访问 (端口监听问题)
❌ 现象描述
OpenClaw Gateway 服务已启动,日志显示正常监听 18789 端口。但在同一局域网的其他电脑浏览器中输入 http://
<云服务器ip>
:18789
云服务器ip>,却显示无法连接或连接超时。
💡 原因分析
默认情况下,某些服务可能只绑定在 localhost (127.0.0.1) 上,这意味着它只接受来自本地服务器内部的请求,拒绝外部局域网设备的访问。
✅ 解决方案:修改 Bind 模式
需要修改网关配置文件,将其监听地址改为 0.0.0.0(允许所有网卡接口访问)。
- 编辑配置文件(位于
~/.openclaw/openclaw.json):sudo vi ~/.openclaw/openclaw.json
- 找到
gateway的bind部分,修改bind模式为lan:“gateway”: {
"port": 18789, "mode": "local", "bind": "lan",
sudo openclaw gateway restart
http://
:18789
访问了(虽然接下来可能会报跨域错误,但这证明网络通了)。第二关:跨域错误 CORS (白名单配置)
❌ 现象描述
网页能打开了,但会话界面显示错误信息,页面功能异常,提示类似:
`origin not allowed (open the Control UI from the gateway host or allow it in gateway.controlUi.allowedOrigins)
💡 原因分析
浏览器的同源策略 (Same-Origin Policy) 阻止了网页向不同源(即使只是 IP 不同)发起请求。OpenClaw 默认可能只允许特定的域名访问,或者未配置允许的 Origin 列表。
✅ 解决方案:配置 Gateway 白名单
在配置文件中明确添加您的局域网 IP 或允许所有来源(测试环境)。
- 再次编辑配置文件:
sudo vi ~/.openclaw/openclaw.json
- 找到
gateway的allowedOrigins部分,添加访问地址:“controlUi”: {
"allowedOrigins": [ "http://localhost:18789", "http://127.0.0.1:18789", "http://公网IP:18789" ] },
sudo openclaw gateway restart
第三关:安全上下文限制 (必须启用 HTTPS)
❌ 现象描述
跨域问题解决后,页面弹出红色警告或无法建立 WebSocket 连接,提示:
Control UI requires device identity (use HTTPS or localhost secure context)
现代浏览器(Chrome, Edge, Safari 等)出于安全考虑,禁止在非安全上下文(即非 HTTPS 且非 localhost)中使用某些敏感 API(如麦克风、摄像头、剪贴板,以及 OpenClaw 所需的某些身份验证机制)。
✅ 解决方案:修改访问IP为 HTTPS
1. 找到 gateway 的 allowedOrigins 部分,修改外网访问地址为https:
“controlUi”: {
"allowedOrigins": [ "http://localhost:18789", "http://127.0.0.1:18789", "https://公网IP:18789" ]
“allowInsecureAuth”: true
},
2. 增加证书地址(不需要生成证书)
第四关:Pairing Required (设备身份验证)
❌ 现象描述
一切配置就绪,HTTPS 也通了,但页面显示:

💡 原因分析
这是 OpenClaw 的零信任安全机制。即使通过了 HTTPS 验证,网关仍不认识这台浏览器设备。首次连接必须经过管理员显式批准,防止未授权控制。
✅ 解决方案:命令行审批法
这是最标准、最安全的解决方式。
1. 查看待审批设备
保持浏览器页面打开(触发请求),在终端执行:
openclaw devices list
输出示例:
┌──────────────────────────────────────┬──────────────┬─────────────────────┐ │ Request ID │ Role │ Created At │ ├──────────────────────────────────────┼──────────────┼─────────────────────┤ │ 4f9db1bd-a1cc-4d3f-b643-2ce │ browser │ 2026-03-10 22:22:01 │ └──────────────────────────────────────┴──────────────┴─────────────────────┘
2. 批准设备
执行:
openclaw devices approve 所复制的request Id
看到 ✓ Approved 后,刷新浏览器页面,即可正常进入控制界面!
总结:完整配置清单
为了方便大家对照检查,以下是解决所有问题后的 openclaw.json 核心配置参考:
“gateway”: {
"port": 18789, "mode": "local", "bind": "lan", "tls": { "enabled": true, "certPath": "/root/.openclaw/certs/cert.pem",
“keyPath”: “/root/.openclaw/certs/key.pem”
}, "controlUi": {
“enabled”: true,
"allowedOrigins": [ "http://localhost:18789", "http://127.0.0.1:18789", "https://{公网IP}:18789" ],
“allowInsecureAuth”: true
}, "auth": { "mode": "token", "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" }, "tailscale": ,
“http”: { “endpoints”: { “chatCompletions”: { “enabled”: true } } } },
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/280576.html