内网共享 OpenClaw 访问指南
修复OpenClaw网关局域网访问限制
问题背景
OpenClaw Gateway的默认配置仅绑定127.0.0.1回环地址,直接导致局域网内其他设备无法访问其控制面板。这个设置是出于初始安全考量,但限制了管理灵活性。本指南提供完整的配置方案,将网关服务开放至整个本地网络。
配置过程中常见的访问错误
在调整绑定设置时,通常会依次遇到以下安全策略拦截,每个阶段都有明确的解决方案:
1. 跨源访问被拒绝:通过内网IP访问时,浏览器返回“origin not allowed (open the Control UI from the gateway host or allow it in gateway.controlUi.allowedOrigins)”。这表明请求源不在网关的白名单内,需要配置allowedOrigins。
2. HTTPS强制要求:解决跨源问题后,系统提示“control ui requires device identity (use HTTPS or localhost secure context)”。OpenClaw的安全策略要求除localhost外的所有连接必须使用TLS加密。
3. 新设备需要配对:建立HTTPS连接后,界面显示“pairing required”。这是设备认证机制在生效,任何新设备首次连接都需要管理员显式授权。
4. 授权后连接失败:完成设备批准后仍无法访问,通常是网关服务未重启,导致新配置或配对状态未加载。也可能是浏览器缓存了旧的错误响应。
已知的功能限制
启用此配置方案会导致一个明确的功能缺失:**OpenClaw Browser Relay将完全无法运作**。因为Browser Relay组件目前仅支持HTTP协议,与网关的HTTPS强制要求冲突。如果你的工作流依赖此功能,需要评估替代方案。
步骤 1:配置网关绑定与HTTPS
编辑核心配置文件~/.openclaw/openclaw.json,定位到gateway配置节。以下是必须修改的关键参数:
"gateway": {
"port": 18789,
"mode": "local",
"bind": "lan",
"controlUi": {
"allowedOrigins": [
"https://内网ip地址:18789",
"http://localhost:18789",
"http://127.0.0.1:18789"
]
},
"tls": {
"enabled": true,
"autoGenerate": true,
"allowHttp": true
}
},
核心改动包括:将bind参数从默认值改为"lan",允许网关监听所有网络接口;在allowedOrigins数组中添加你的内网HTTPS地址;启用tls.autoGenerate让网关自动创建自签名证书。allowHttp: true则保留了本地HTTP访问的兼容性。
步骤 2:授权局域网内的新设备
配置文件更新后,需要对新访问设备进行认证授权。通过命令行工具完成:
- 执行
openclaw devices list
此命令输出所有已识别的设备列表。找到状态显示为“unpaired”且IP地址对应的设备,记录其完整的DeviceID。 - 执行
openclaw devices approve [DeviceID]
将上一步获取的DeviceID替换命令中的占位符,运行后即可将该设备添加至信任列表。
步骤 3:重启服务并验证访问
所有配置与授权操作完成后,必须重启网关进程以使变更生效。执行重启命令:
openclaw gateway restart
服务重启后,即可在局域网内的电脑或手机上使用https://内网ip地址:18789进行访问。浏览器首次会警告证书不安全(自签名证书正常现象),手动确认“继续访问”后,输入网关密钥即可进入控制面板。