OpenClaw Docker 启动失败:non-loopback Control UI / allowedOrigins 报错的根因与修复(2026)
如果你最近在 Docker 或远程主机上启动 OpenClaw,看到这条报错:
Gateway failed to start: Error: non-loopback Control UI requires gateway.controlUi.allowedOrigins ...
先说结论:这通常不是容器坏了,而是 Gateway 的安全校验在拦截“未声明来源的远程访问”。
这篇会给你一条可执行路径:先恢复可用,再保持安全。
为什么最近更容易遇到这个错误?
近 7 天可见信号:
- GitHub Issue #25009(2026-02-24)就是这个报错,场景是 Docker 部署后无法启动。
- Release v2026.2.22(2026-02-23)包含大量 Gateway/Auth/Security 相关修复与行为收敛。
这说明平台在持续“默认更安全”,而历史配置/教程不一定同步更新,导致很多人升级后第一次踩坑。
你到底做错了什么(技术上)?
核心冲突只有一个:
- 你把 Gateway 绑定到了非回环地址(例如
0.0.0.0/ 局域网 IP), - 但没有显式声明允许的 Control UI 来源(
allowedOrigins)或没有走受控回退模式。
系统会把这视为潜在风险并拒绝启动。
5 分钟修复(推荐顺序)
路径 A:你只在本机管理(最稳)
把网关收回本机绑定:
openclaw config set gateway.bind "127.0.0.1"
openclaw gateway restart
openclaw gateway status
适合:单机自用、SSH 隧道访问、暂时不需要公网/局域网直连控制面板。
路径 B:你确实需要远程访问 Control UI
要做两件事:
- 明确允许来源(
allowedOrigins) - 保留认证(token/password/device auth 至少一层)
你可以先在配置里加入允许来源域名,再重启网关。若在容器里部署,确保编辑的是容器实际加载的配置文件。
不建议把“危险回退开关”当长期方案。它只能用于应急恢复,恢复后应尽快改成明确 origin 白名单。
路径 C:你怀疑是版本包问题而不是配置问题
近 7 天另一个典型故障是 v2026.2.21-2 的 gateway-cli 构建异常(Issue #22841)。如果你看到 SyntaxError ... timeoutSeconds 一类报错,优先:
- 确认当前版本
- 升级到修复版本(如 v2026.2.22 或更高)
- 再做配置排查
避免在坏包上反复改配置。
自检清单(修完必须过)
openclaw gateway status --deep
openclaw status
openclaw doctor
你至少要确认:
- Runtime 为
running - Control UI 可访问,但仅对你预期的来源开放
- 无“无认证远程暴露”告警
部署建议:把“能跑”升级成“稳跑”
如果你已经从本机迁移到 VPS / Docker,建议同时做这 3 件事:
- 固化 Gateway 访问策略(bind + auth + allowedOrigins)
- 把升级流程改成“先看 release,再滚动升级”
- 保留一条可回滚版本路径,避免故障时全量中断
这样你遇到问题时,能在 5~10 分钟内判断:是配置错误、网络问题,还是版本回归。
参考来源(可核验)
- Issue #25009
https://github.com/openclaw/openclaw/issues/25009 - Issue #22841
https://github.com/openclaw/openclaw/issues/22841 - Release v2026.2.22
https://github.com/openclaw/openclaw/releases/tag/v2026.2.22 - Docker 文档
https://docs.openclaw.ai/install/docker