根据OpenClaw最新官方文档(截至2026年3月),以下是更新后的局域网访问配置指南,整合了网络架构、安全加固和自动化配对等新特性:
启用LAN多接口监听
使用新参数 bind=lan 自动绑定所有局域网接口(替代旧版 0.0.0.0):
|
1 |
openclaw config set gateway.bind lan |
智能本地配对策略
新增自动批准本地连接(同主机或同一Tailnet内设备):
|
1 |
openclaw config set gateway.pairing.autoApproveLocal true |
动态认证令牌管理
生成带时效性的Token(推荐每24小时轮换):
|
1 |
openclaw config set gateway.auth.token $(openclaw doctor --generate-tmp-token 86400) |
强化安全基线
启用TLS加密和严格的CORS策略:
|
1 2 |
openclaw config set gateway.security.tls.enabled true openclaw config set gateway.http.corsAllowedOrigins "['https://*.yourdomain.com']" |
Bonjour服务发现优化
自动注册mDNS服务名(默认 openclaw.local):
|
1 |
openclaw config set discovery.bonjour.enabled true |
Tailscale集成(零配置内网穿透)
通过Tailnet ID自动建立安全隧道:
|
1 |
openclaw config set remoteAccess.tailnetId TAILNET_ID_FROM_TAILSCALE |
混合云部署支持
配置混合传输协议(QUIC+WebSocket):
|
1 |
openclaw config set transport.mixedMode.enabled true |
网关健康检查
使用新版诊断命令:
|
1 |
openclaw doctor network --verbose |
关键指标:Gateway API accessible at https://[LAN_IP]:18789
跨设备访问测试
在另一台设备浏览器访问:
|
1 2 3 |
https://openclaw.local:18789 # 优先Bonjour解析 或 https://[LAN_IP]:18789 |
故障排查命令
新增网络层专用排障工具:
|
1 2 |
openclaw debug network-packet-capture openclaw debug connectivity-matrix |
最小权限原则
限制网关进程权限:
|
1 |
sudo setcap cap_net_bind_service=+ep /usr/bin/openclaw-gateway |
持续监控告警
配置异常流量检测规则:
|
1 2 3 4 5 6 |
# 示例:在Prometheus配置中添加 - alert: HighGatewayLatency expr: gateway_response_time_seconds > 5 for: 1m labels: severity: warning |
物理层防护
通过udev规则限制网卡绑定:
|
1 |
echo 'SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="XX:XX:XX:XX:XX:XX", RUN+="/sbin/ip link set $IFACE up mtu 1400"' | sudo tee /etc/udev/rules.d/99-openclaw.rules |
| 功能特性 | v1.8.x+ | v2.0+ | v2.2+ |
|---|---|---|---|
| bind=lan 多接口监听 | ?? | ?? | ?? |
| 动态令牌轮换 | ? | ?? | ?? |
| mDNS服务发现 | ?? | ?? | ?? |
| Tailnet零配置隧道 | ? | ? | ?? |
| 混合传输协议 | ? | ?? | ?? |
通过以上更新,OpenClaw局域网访问方案已实现:
? 零配置内网穿透(Bonjour/Tailscale)
? 自动化安全加固(TLS+RBAC)
? 生产级可观测性(Prometheus集成)
建议立即升级至v2.2+版本以获得完整功能集,并参考官方Security Hub获取威胁情报更新。
遇到这个报错,说明你已经成功解决了跨域问题,但撞上了 OpenClaw 另一道更硬核的安全防线——设备身份验证。
OpenClaw 在 2026+ 版本 做了一个重要升级:Control UI 强制要求在 安全上下文(Secure Context) 中运行。
什么是安全上下文?只有这两种情况才算:
| ? 安全上下文 | ? 非安全上下文 |
|---|---|
| https://your-domain.com | http://192.168.1.100:18789 |
| http://localhost:18789 | http://公网IP:18789 |
| http://127.0.0.1:18789 | 任何 HTTP + IP 地址的组合 |
当你用 http://IP:18789 访问时,浏览器会判定这是非安全上下文,直接屏蔽 Web Crypto API——而 OpenClaw 恰恰依赖这个 API 来生成设备身份,做认证配对。认证做不了,网关只能无情拒绝你的连接。
?? 关键提醒:即使你配置了 allowInsecureAuth: true,也绕不过这一关! 因为浏览器层面的限制是硬性的,不是网关能决定的。
这是最优雅、最安全的方案,不需要改任何配置、不需要 SSL 证书,一行命令搞定。
原理:在你自己的电脑上建立一条 SSH 隧道,把远程服务器的 18789 端口"搬"到你本地,然后你用 localhost 访问——浏览器认为是安全上下文,一切顺理成章。
|
1 2 |
# 在本地终端执行(Windows用PowerShell/WSL,Mac/Linux用Terminal) ssh -L 18789:localhost:18789 username@服务器IP |
举个例子,如果你的树莓派/服务器 IP 是 192.168.1.100,用户名叫 pi:
|
1 |
ssh -L 18789:localhost:18789 pi@192.168.1.100 |
然后保持这个终端窗口不要关,在浏览器打开:
|
1 |
http://127.0.0.1:18789/?token=你的Token |
完美解决!
???? 不知道 Token?在服务器上运行:
|
1 |
openclaw config get auth.token |
如果你有域名并且想长期稳定地通过域名访问,这是最佳路径。
最简单的方式是使用 Tailscale Serve(Tailscale 自带的 HTTPS 反向代理功能),它会自动帮你搞定 SSL 证书。
如果你有自己的域名和 SSL 证书,也可以在 Nginx/Caddy 等反向代理上配置 HTTPS,然后把网关绑定的 IP 加到 gateway.trustedProxies 中,让 OpenClaw 正确识别真实客户端 IP。
?? 这是一个严重的安全降级,官方明确警告不建议在生产环境使用。
修改 ~/.openclaw/openclaw.json 配置文件:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
{ "gateway": { "port": 18789, "bind": "lan", "controlUi": { "allowedOrigins": [ "http://127.0.0.1:18789", "http://你的IP:18789" ], "allowInsecureAuth": true, "dangerouslyDisableDeviceAuth": true } } } |
保存后重启网关:
|
1 |
openclaw gateway restart |
这样网关就不再检查设备身份了,直接用 Token 认证,浏览器也不会再拦你了。
| SSH 隧道 | HTTPS | 禁用设备认证 | |
|---|---|---|---|
| 安全性 | ????? | ????? | ?? |
| 配置难度 | 一行命令 | 中等 | 改配置文件 |
| 适用场景 | 临时管理、日常使用 | 固定域名长期访问 | 紧急调试、测试环境 |
| 官方推荐 | ? | ? | ? |
总结一句话:能用 SSH 隧道就用 SSH 隧道,既安全又省事;有域名就配 HTTPS;实在不行才考虑禁用设备认证。千万别把 dangerouslyDisableDeviceAuth 开着不管——官方的安全审计工具会专门检测这个配置并报警告。