【OpenClaw】OpenClaw无法访问问题排查指南

OpenClaw无法访问问题排查指南

一、问题描述

容器正在运行,端口已正确映射,但无法通过 http://localhost:18789 访问OpenClaw Web界面。

二、问题根源

配置向导可能修改了Web UI的绑定地址或启用了身份验证机制,导致外部无法正常访问。

常见原因:

  • 配置文件中的 bind 被设置 为 loopback127.0.0.1
  • 启用了Token或密码身份验证
  • 配置文件中的认证模式设置不当

三、排查步骤

步骤1:确认容器是否还在运行

powershell 复制代码
docker ps | Select-String "openclaw"
  • ✅ 如果看到状态为 Up,说明容器还在运行,继续下一步
  • ❌ 如果没有输出或状态为 Exited,说明容器意外退出

查看错误日志:

powershell 复制代码
docker logs openclaw --tail=50

步骤2:检查端口映射是否正常

powershell 复制代码
docker port openclaw

预期输出:18789/tcp -> 0.0.0.0:18789

  • ✅ 如果输出正确,继续下一步
  • ❌ 如果输出为空或端口不对,说明端口映射丢失

步骤3:查看容器日志

powershell 复制代码
docker logs openclaw 2>&1 | Select-String -Pattern "token|http|listening|bind"

重点关注:

  • Gateway listening on http://0.0.0.0:18789 - 服务正常监听
  • Access with token: http://localhost:18789?token=xxxx - 需要Token访问
  • bind address already in use - 端口被占用
  • permission denied - 权限问题

步骤4:重启容器

powershell 复制代码
docker restart openclaw

等待10-20秒后,再次访问 http://localhost:18789

四、问题解决

问题1:bind设置为loopback

症状 :配置文件中的 "bind": "loopback" 导致Web UI只允许容器内部访问

解决方法

  1. 编辑配置文件 Z:\Tools\docker\openclaw\data\openclaw.json

  2. 找到 "bind": "loopback" 这一行

  3. 修改为:

    json 复制代码
    "bind": "0.0.0.0"

    或者直接删除该行(使用默认值)

  4. 保存文件

  5. 重启容器:

    powershell 复制代码
    docker restart openclaw

问题2:启用了Token认证

症状:日志中显示需要Token才能访问

解决方法

  1. 从日志中找到完整的Token URL:

    复制代码
    Access with token: http://localhost:18789?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
  2. 直接使用该URL访问

问题3:需要密码登录

症状:访问时弹出密码输入框

解决方法

使用设置的环境变量密码:Perfect1@34

问题4:认证模式设置为必须验证

症状:所有访问都被拒绝

解决方法

  1. 编辑配置文件 Z:\Tools\docker\openclaw\data\openclaw.json

  2. 添加或修改认证模式:

    json 复制代码
    {
      "gateway": {
        "auth": {
          "mode": "none"
        }
      }
    }
  3. 保存并重启容器

⚠️ 注意:禁用认证会让任何能访问该端口的人直接控制OpenClaw,仅在个人电脑或内网环境使用。

五、完整配置文件示例

以下是推荐的配置文件内容:

json 复制代码
{
  "bind": "0.0.0.0",
  "gateway": {
    "auth": {
      "mode": "password"
    }
  },
  "models": {
    "providers": {
      "ollama": {
        "baseUrl": "http://host.docker.internal:11434",
        "apiKey": "ollama-local"
      }
    }
  },
  "agents": {
    "defaults": {
      "model": {
        "primary": "ollama/deepseek-r1:latest"
      }
    }
  }
}

六、验证修复

1. 确认bind配置已更改

powershell 复制代码
docker exec openclaw Select-String -Pattern "bind" /home/node/.openclaw/openclaw.json

应该显示 "bind": "0.0.0.0"

2. 测试Web访问

在浏览器中访问:

复制代码
http://localhost:18789

或尝试:

复制代码
http://127.0.0.1:18789

3. 检查服务状态

powershell 复制代码
docker logs openclaw 2>&1 | Select-String -Pattern "listening|ready"

七、终极解决方案

如果以上方法都不奏效,可以删除容器并重新创建(保留数据卷):

powershell 复制代码
# 停止并删除容器
docker stop openclaw
docker rm openclaw

# 重新创建容器
docker run -d `
  --name openclaw `
  --restart always `
  -p 18789:18789 `
  --add-host=host.docker.internal:host-gateway `
  -v "Z:\Tools\docker\openclaw\data:/home/node/.openclaw" `
  -v "Z:\Tools\docker\openclaw\config:/app/config" `
  -e OLLAMA_BASE_URL=http://host.docker.internal:11434 `
  -e DEFAULT_MODEL=deepseek-r1:latest `
  ghcr.io/openclaw/openclaw:latest

八、补充说明

为什么会出现bind设置为loopback?

配置向导中某个选项(如安全提示)可能导致自动生成了 loopback 配置。在容器环境下,loopback 只允许容器内部访问,对外不可见。

Windows防火墙检查

如果依然连接失败,检查Windows Defender防火墙,确保没有阻止Docker的网络访问。

端口冲突检查

如果18789端口被其他程序占用,可以:

  1. 查找占用端口的进程:netstat -ano | Select-String "18789"
  2. 结束占用进程或使用其他端口

九、预防措施

  1. 一劳永逸的配置方法 :使用环境变量和 --add-host 参数创建容器
  2. 定期备份配置文件 :备份 Z:\Tools\docker\openclaw\data\openclaw.json
  3. 记录关键配置:记录Token、密码等重要信息
  4. 使用固定版本镜像:避免使用latest版本导致配置不兼容
相关推荐
AC赳赳老秦3 天前
文旅市场公开数据分析:基于 OpenClaw 采集景区客流与门票公示数据,生成区域文旅热度监测报告
java·c语言·python·php·symfony·deepseek·openclaw
AC赳赳老秦3 天前
环保监测公开数据应用:OpenClaw 抓取空气与水质公开监测数据,开展区域环境质量趋势分析
大数据·数据库·人工智能·python·php·deepseek·openclaw
Blockbuater_drug3 天前
MCP Server 接入实战: 9种平台配置差异与凭证安全
claude·cursor·mcp·openclaw·hermes agent·dsh·agent 配置
2601_962298933 天前
阿里云计算巢部署 OpenClaw 保姆级图文攻略|Slack集成+千问Qwen3.6-Plus配置+新手避坑教程
阿里云·新手教程·openclaw·slack集成·千问qwen3.6-plus
AC赳赳老秦4 天前
农产品公开数据应用:OpenClaw 抓取农产品价格、产销公开数据,实现农产品行情动态监测
java·c语言·javascript·python·php·deepseek·openclaw
小手智联老徐5 天前
OpenClaw 2026.9.1:从日更到月更,一个开源项目走向成熟
ai 编程·openclaw
AC赳赳老秦5 天前
电力能源公开数据采集实操:用 OpenClaw 合规抓取电网电价与发电量数据,生成区域能源供需分析报告
大数据·数据库·人工智能·python·php·deepseek·openclaw
海兰8 天前
【部署】升级现有的 OpenClaw 到最新版(v2026.8.2)
人工智能·openclaw
梦079 天前
实操手册-OpenClaw长任务超时无响应的解决
经验分享·openclaw
宇文仲竹15 天前
Docker 一键部署 SearXNG 私有搜索引擎 (给 openclaw 用代替 web_search)
openclaw