2026年解决OpenClaw Gateway仪表盘登录问题

解决OpenClaw Gateway仪表盘登录问题最近因为云服务器到期 在另一个云环境安装 openclaw nbsp 2026 4 15 版本后 互联网访问 gateway 仪表盘出现了一系列问题 总被浏览器抛出一句 control ui requires device identity use HTTPS or localhost secure context 拦住去路 反复核对令牌 重启网关 却依然无法连接 别慌 这并非

大家好,我是讯享网,很高兴认识大家。这里提供最前沿的Ai技术和互联网信息。



最近因为云服务器到期,在另一个云环境安装openclaw 2026.4.15版本后,互联网访问gateway 仪表盘出现了一系列问题,总被浏览器抛出一句control ui requires device identity (use HTTPS or localhost secure context)拦住去路?反复核对令牌、重启网关,却依然无法连接?别慌,这并非 OpenClaw 本身的故障,而是浏览器的安全策略给你设下的 “隐形门槛”。

第一关:局域网无法访问 (端口监听问题)

❌ 现象描述

OpenClaw Gateway 服务已启动,日志显示正常监听 18789 端口。但在同一局域网的其他电脑浏览器中输入 http:// <云服务器ip> :18789 ,却显示无法连接连接超时

💡 原因分析

默认情况下,某些服务可能只绑定在 localhost (127.0.0.1) 上,这意味着它只接受来自本地服务器内部的请求,拒绝外部局域网设备的访问。

✅ 解决方案:修改 Bind 模式

需要修改网关配置文件,将其监听地址改为 0.0.0.0(允许所有网卡接口访问)。

  1. 编辑配置文件(位于 ~/.openclaw/openclaw.json):
    sudo vi ~/.openclaw/openclaw.json 
  2. 找到 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 或允许所有来源(测试环境)。

    1. 再次编辑配置文件:
      sudo vi ~/.openclaw/openclaw.json 
    2. 找到 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         }       }     } },

    小讯
    上一篇 2026-04-26 23:25
    下一篇 2026-04-26 23:23

    相关推荐

    版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
    如需转载请保留出处:https://51itzy.com/kjqy/280576.html