Docker 安装 OpenClaw 报错排查:如何解决Gateway auth is set to token, but no token is configured``Missing config

Docker 安装 OpenClaw 报错排查:如何解决Gateway auth is set to token, but no token is configured``Missing config

Docker 安装 OpenClaw 报错排查:如何解决Gateway auth is set to token, but no token is configured``Missing config. Run openclaw setup``control ui requires HTTPS or localhost``Proxy headers detected from untrusted address

按错误关键词 Ctrl+F 秒搜定位,建议收藏备用!

Docker 安装 OpenClaw 报错排查:如何解决Gateway auth is set to token

文章目录

错误一:Gateway auth is set to token, but no token is configured

🔍 错误现象

容器启动后日志出现:

Gateway auth is set to token, but no token is configured 

或浏览器访问 Dashboard 时返回 401 Unauthorized

🎯 根因分析

OpenClaw 默认启用 Token 认证机制 保护远程访问安全,但你尚未设置具体的 Token 值。这通常发生在:

  • 首次部署后直接进入配置阶段
  • 手动修改配置时误删了 token 字段
  • 从旧版本升级后配置未迁移
✅ 解决方案

步骤 1:进入容器执行配置命令

dockerexec openclaw openclaw config set gateway.auth.token YOUR_TOKEN 
YOUR_TOKEN 替换为强密码(建议 16 位以上随机字符串)

步骤 2:验证配置是否生效

dockerexec openclaw openclaw config get gateway.auth.token # 应返回你设置的 token 值

步骤 3:重启容器使配置生效

docker restart openclaw 

步骤 4:访问时携带 Token

  • 浏览器访问https://your-domain.com?token=YOUR_TOKEN
  • API 调用:Header 中添加 Authorization: Bearer YOUR_TOKEN

错误二:Missing config. Run openclaw setup

🔍 错误现象

容器启动后立即退出,日志显示:

Missing config. Run openclaw setup 

或执行命令时提示配置缺失。

🎯 根因分析

OpenClaw 首次运行必须初始化配置数据库,包括:

  • 创建默认配置文件
  • 初始化 SQLite/PostgreSQL 数据库
  • 设置默认网关和模型参数

常见触发场景:

  • 直接 docker run 但未执行初始化
  • 数据卷挂载错误导致配置丢失
  • 容器重建后未重新初始化
✅ 解决方案

步骤 1:确保容器在运行状态

dockerps|grep openclaw # 如果未运行,先启动:docker start openclaw

步骤 2:执行初始化命令

dockerexec -it openclaw openclaw setup 

步骤 3:按交互提示完成配置

? Choose your LLM provider: (Use arrow keys) ❯ Claude (Anthropic) OpenAI (GPT-4) Ollama (Local) ? Enter your API key: [sk-...] ? Configure gateway port: (8090)

步骤 4:验证初始化成功

dockerexec openclaw openclaw config list # 应显示完整配置项,无报错

⚠️ 数据持久化建议
初始化时确保挂载数据卷,避免容器重建后配置丢失:

docker run -v openclaw_data:/root/.openclaw ... maoouhu/openclaw-chinese 

错误三:control ui requires HTTPS or localhost

🔍 错误现象
  • 本地 localhost:8090 访问正常
  • 通过 IP 或域名远程访问时,浏览器报错:
control ui requires HTTPS or localhost 

或页面显示 安全策略阻止 提示。

🎯 根因分析

这是浏览器安全机制(CSP/Secure Context)限制,非 OpenClaw 故障:

  • localhost 被视为安全上下文,允许明文 HTTP
  • 非本地 IP/域名访问时,浏览器强制要求 HTTPS
  • 防止 Token 等敏感信息在公网明文传输
✅ 解决方案(任选其一)

方案 A:Token 认证绕过(开发测试用)
已在「错误一」中配置 Token 后,访问时追加参数:

http://your-server-ip:8090?token=YOUR_TOKEN 
⚠️ 仅限内网测试,公网必须使用 HTTPS!

方案 B:配置 HTTPS 反向代理(生产推荐)

Nginx 配置示例:

server { listen 443 ssl http2; server_name openclaw.yourdomain.com; ssl_certificate /path/to/cert.pem; ssl_certificate_key /path/to/key.pem; location / { proxy_pass http://localhost:8090; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } 

步骤 2:设置信任代理(见错误四)

方案 C:配置浏览器例外(仅限开发)

  • Chrome:chrome://flags/#unsafely-treat-insecure-origin-as-secure
  • 添加你的 IP 并启用(不推荐长期使用)

错误四:Proxy headers detected from untrusted address

🔍 错误现象

配置 Nginx 反向代理后,日志报错:

Proxy headers detected from untrusted address: 172.18.0.1 

或 Dashboard 显示 502 Bad Gateway

🎯 根因分析

OpenClaw 的安全机制检测到反向代理转发的 X-Forwarded-* 头,但代理 IP 不在信任列表中。这是为了防止 IP 伪造攻击

常见场景:

  • Nginx 和 OpenClaw 在不同 Docker 网络
  • 使用云厂商负载均衡(如阿里云 SLB、AWS ALB)
  • 多层反向代理(Nginx → OpenClaw)
✅ 解决方案

步骤 1:确认你的代理 IP

# 查看 OpenClaw 容器日志中的实际 IPdocker logs openclaw |grep"untrusted address"# 输出示例:untrusted address: 172.18.0.1

步骤 2:添加信任代理 IP

# 单个 IPdockerexec openclaw openclaw config set gateway.trustedProxies '["172.18.0.1"]'# 多个 IP(JSON 数组格式)dockerexec openclaw openclaw config set gateway.trustedProxies '["127.0.0.1", "172.18.0.0/16"]'# 信任所有私有网段(内网环境简化配置)dockerexec openclaw openclaw config set gateway.trustedProxies '["10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16", "127.0.0.1"]'

步骤 3:重启容器

docker restart openclaw 

步骤 4:验证配置

dockerexec openclaw openclaw config get gateway.trustedProxies # 应返回配置的 IP 数组

🔧 Docker Compose 场景特殊处理

如果 Nginx 和 OpenClaw 在同一 Compose 网络,使用容器名通信:

services:openclaw:image: maoouhu/openclaw-chinese networks:- openclaw_net nginx:image: nginx:alpine networks:- openclaw_net # 反向代理地址改为 http://openclaw:8090

此时信任 IP 应配置为 Docker 网关(通常是 172.x.x.1),或查看:

docker network inspect openclaw_openclaw_net |grep Gateway 

📋 快速自检清单

检查项命令预期结果
容器运行状态docker ps | grep openclaw显示 Up 状态
配置是否初始化docker exec openclaw openclaw config list无报错,显示配置
Token 是否设置docker exec openclaw openclaw config get gateway.auth.token返回非空值
信任代理配置docker exec openclaw openclaw config get gateway.trustedProxies包含你的代理 IP
端口是否监听docker exec openclaw netstat -tlnp | grep 8090显示 LISTEN

🆘 仍有问题?

  1. 查看完整日志docker logs --tail 100 openclaw
  2. 检查配置文件docker exec openclaw cat /root/.openclaw/config.json
  3. 重置配置(慎用):docker exec openclaw openclaw setup --force
  4. 提交 Issue:附上日志和配置(脱敏后)到 GitHub Issues

💡 预防胜于治疗:建议首次部署时按顺序执行:初始化 → 配置 Token → 配置代理 → 启动服务,可避免 90% 的报错!

Read more

《MySQL 表基础语法:从入门到熟练的核心技巧》

《MySQL 表基础语法:从入门到熟练的核心技巧》

前引:MySQL 表的增删查是数据库操作的基础,也是日常开发、数据分析中最高频的需求。很多初学者会卡在语法细节、场景适配或效率优化上,明明掌握了基础命令,实际应用中却频频出错。本文聚焦 “实用 + 避坑”,从核心语法到高频场景,再到优化技巧,帮你彻底吃透 MySQL 表增删查,告别 “只会用不会用对” 的尴尬 SQL查询中各个关键字的执行先后顺序: from > on> join > where > group by > with > having > select > distinct > order by > limit 目录 【一】增 (1)基本创建 (2)

By Ne0inhk
Spring Boot 4.0 与 Spring Cloud Alibaba 2025 整合完整指南

Spring Boot 4.0 与 Spring Cloud Alibaba 2025 整合完整指南

Spring Boot 4.0 与 Spring Cloud Alibaba 2025 整合完整指南 Spring Cloud全栈实战:手撸企业级项目,从入门到架构师! 概述 本文将详细介绍如何在 Spring Boot 4.0 中整合 Spring Cloud Alibaba 2025 最新版本。Spring Cloud Alibaba 为分布式应用开发提供了一站式解决方案,包含服务发现、配置管理、流量控制等核心功能。 环境要求 Spring Cloud全栈实战:手撸企业级项目,从入门到架构师! * JDK: 21+ (Spring Boot 4.0 要求) * Maven: 3.6+ 或 Gradle

By Ne0inhk

Spring AI 接入与简单使用:从环境搭建到多轮对话(JDK 17 + Spring Boot 3.5)

前言 Spring AI 是 Spring 生态中用于对接大语言模型(LLM)的抽象层,可以统一调用 OpenAI、Azure OpenAI、以及各类 OpenAI 兼容 API(如 DeepSeek、国内大模型等)。通过少量配置和几行代码,就能实现同步调用、流式输出,以及带上下文记忆的多轮对话,非常适合在现有 Spring Boot 项目里快速接入 AI 能力。本文基于 JDK 17、Spring Boot 3.5、Spring AI 1.1 记录从零接入到简单使用的完整过程,并总结对接时的注意项。 特别说明:本文除本段外,全部由AI生成。项目地址:https://gitee.com/husolar/

By Ne0inhk
Flutter for OpenHarmony 实战:Flutter Rust Bridge — 极致计算性能方案

Flutter for OpenHarmony 实战:Flutter Rust Bridge — 极致计算性能方案

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter for OpenHarmony 实战:Flutter Rust Bridge — 极致计算性能方案 前言 在 Flutter for OpenHarmony 的高性能应用场景中(如:超大数据量加密、实时音视频处理、复杂物理模拟),Dart 的性能虽然出色,但在面对 CPU 密集型任务时,往往需要更底层的语言辅助。 Rust 凭借其内存安全与极致性能,成为了移动端计算的“无冕之王”。而 Flutter Rust Bridge (FRB) 则是将 Dart 与 Rust 缝合在一起的顶尖架构。它能自动生成繁琐的 FFI 胶水代码,并支持异步、流式传输以及复杂的对象映射。本文将带你在鸿蒙系统上构建一套“双擎驱动”

By Ne0inhk