OpenClaw 公网访问难题?一招解决 “control ui requires device identity” 报错
环境信息
• OpenClaw 版本: 2026.2.26 或更高版本 • 操作系统: Ubuntu / Linux / macOS • 问题类型: 公网访问安全上下文限制
一、问题现象
在部署 OpenClaw 后,通过公网 IP 或域名访问控制界面时,浏览器提示以下错误:
control ui requires device identity (use HTTPS or localhost secure context)
即使配置了正确的公网 IP 和端口映射,使用 http://你的IP:18789 或 http://你的域名:18789 访问仍然失败,而其他人可能可以直接通过 HTTP 公网访问。

二、原因分析
2.1 浏览器安全上下文策略
OpenClaw 的控制界面使用了现代浏览器的 Web Crypto API 来实现设备身份验证。出于安全考虑,这套 API 只能在“安全上下文”中运行。 所谓的“安全上下文”,通常指以下两种情况:
1. 本地安全环境:访问 https://localhost或https://127.0.0.1。2. 网络安全环境:通过 HTTPS 协议访问,且域名拥有有效的 SSL 证书。 当你使用 HTTP 协议访问公网地址时,浏览器会判定这是一个“非安全上下文”,从而直接拒绝 OpenClaw 获取设备身份信息,导致访问失败。
2.2 解决方案有哪些?
解决方案有三种:
• 配置HTTPS 和 SSL 证书 • 在配置中禁用了设备身份验证检查 • 通过内网或 VPN 访问,浏览器认为是安全上下文(localhost,可通过本地ssh云主机方式)
三、解决方案(在配置中禁用了设备身份验证检查)
3.1 方法一:命令行快速配置(推荐)
在服务器终端执行以下命令:
# 1. 允许非安全认证(解决跨域问题)
openclaw config set gateway.controlUi.allowInsecureAuth true
# 2. 关键步骤:禁用设备身份验证(允许 HTTP 访问)
openclaw config set gateway.controlUi.dangerouslyDisableDeviceAuth true
# 3. 重启网关服务使配置生效
openclaw gateway restart
3.2 方法二:手动编辑配置文件
如果你习惯修改配置文件,可以直接编辑 ~/.openclaw/openclaw.json:
"gateway":{
"port":18789,
"bind":"lan",// 确保绑定到 LAN 或 0.0.0.0
"controlUi":{
"allowInsecureAuth":true,
"dangerouslyDisableDeviceAuth":true,// 核心配置项
"allowedOrigins":[
"http://你的域名或IP:18789"
]
},
"auth":{
"mode":"token",
"token":"你的复杂Token"
}
// ... 其他配置
}
修改后同样需要重启服务:openclaw gateway restart。
四、验证修复
执行以下步骤验证问题是否解决:
4.1 检查服务状态
openclaw gateway status
确认服务正在监听所有网络接口(0.0.0.0:18789)。

4.2 测试公网访问
在浏览器中访问(如下图,域名是没有https而是http的,可以进行访问了!):
http://你的公网IP或域名:18789/#token=你的Token
4.3 检查日志
openclaw gateway logs
确认启动日志中不再出现安全上下文相关错误。
五、总结
openclaw config set gateway.controlUi.dangerouslyDisableDeviceAuth true | ||
openclaw gateway restart | ||
openclaw config set gateway.controlUi.allowInsecureAuth true |
核心要点:OpenClaw 默认要求安全上下文访问,如需 HTTP 公网访问,需通过配置 dangerouslyDisableDeviceAuth: true 来禁用设备身份验证检查。
六、常见问题
Q1: 设置后 Token 还需要吗?
需要。设置 dangerouslyDisableDeviceAuth: true 只绕过设备身份验证,Token 认证仍然有效。你必须提供正确的 Token 才能登录。
Q2: 这样做安全吗?
存在风险。禁用设备身份验证会削弱安全防护,建议:
• 使用强 Token(建议 32 位以上随机字符) • 配置 IP 白名单限制访问来源 • 尽快配置 HTTPS(推荐使用 Nginx 反向代理 + Let’s Encrypt 免费 SSL 证书)
Q3: 如何恢复默认安全设置?
openclaw config set gateway.controlUi.dangerouslyDisableDeviceAuth false
openclaw gateway restart
Q4: 生产环境应该怎么做?
对于生产环境,强烈推荐以下方案:
1. 使用 Nginx 反向代理:配置 HTTPS 并转发到本地 OpenClaw 端口 2. 配置域名 SSL 证书:申请域名并配置SSL证书 3. 保持默认安全设置:不推荐禁用设备身份验证
七、总结
通过设置 dangerouslyDisableDeviceAuth: true,我们可以快速解决 OpenClaw 的公网 HTTP 访问问题。但请牢记:这是以降低安全性为代价的。在生产环境中,务必采用 HTTPS 或其他安全加固措施,在便利性与安全性之间找到平衡点。 希望这篇文章能帮助你解决 OpenClaw 部署中的常见问题!如果你有更好的解决方案或安全建议,欢迎在评论区分享讨论。
夜雨聆风