OpenClaw部署后访问后台显示404/502或空白页,主因是后端未启动、.env缺失SECRET_KEY、PostgreSQL未运行、Nginx代理路径末尾多斜杠、静态资源未生成或ALLOWED_HOSTS配置错误。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

OpenClaw部署完成后访问后台地址(如 http://localhost:8000/admin)显示 404、502 或空白页,说明后端服务未正确暴露或前端静态资源未生成。
确认后端服务是否已启动
进入部署目录,执行 docker ps 查看容器运行状态。若没有看到 openclaw-backend 或 openclaw-api 容器,说明服务根本没起来。
运行 docker logs openclaw-backend --tail 50 查看最近日志。出现 django.core.exceptions.ImproperlyConfigured: The SECRET_KEY setting must not be empty 错误,说明 【.env 文件缺失或 SECRET_KEY 未填写】,必须补全环境变量后重新启动。
如果日志中提示 Connection refused 且伴随数据库连接信息,检查 PostgreSQL 容器是否在运行 → 执行 docker ps | grep postgres → 若无输出,先启动数据库容器再重启 backend。
验证 Nginx 是否正确代理后台路径
打开部署目录下的 nginx/conf.d/openclaw.conf,确认 location 块包含如下配置:
location /admin { proxy_pass http://backend:8000/admin; }
若写成 location /admin/(末尾带斜杠),会导致 Django 的 static URL 解析失败,后台页面加载 CSS/JS 时全部 404 —— 这是常见原因,务必删除末尾斜杠。
使用聊天补全、重试、结构化输出和明确的 User-Agent 标头运行 AIMLAPI LLM 与推理工作流,适用于 Codex 对 AIMLAPI 模型进行脚本化提示/推理调用的场景。
修改后执行 docker exec -it openclaw-nginx nginx -s reload 重载配置。若提示 nginx: [emerg] unknown directive "proxy_pass",说明 Nginx 镜像未启用 proxy 模块,需换用 nginx:alpine 或 nginx:mainline 官方镜像。
生成并挂载后台静态资源
OpenClaw 后台依赖 collectstatic 生成的前端资源,Docker 环境下常被忽略。
方法一:进入 backend 容器手动执行docker exec -it openclaw-backend sh → cd /app → python manage.py collectstatic --noinput
方法二:构建镜像时固化静态文件
在 Dockerfile 中 backend 构建阶段添加:RUN python manage.py collectstatic --noinput
【必须在 CMD 之前执行,否则容器启动时不生效】
方法三:挂载 host 本地 static 目录
在 docker-compose.yml 的 backend service 下添加 volumes:- ./static:/app/staticfiles
然后确保 host 上存在 ./static 目录,并提前运行过 collectstatic。
检查 Django ALLOWED_HOSTS 配置
第一步:打开 backend/settings.py 或 .env 中的 ALLOWED_HOSTS 变量。
第二步:若部署在本地测试,必须包含 127.0.0.1 和 localhost;若通过域名访问,如 claw.example.com,则 【该域名必须精确匹配,不支持通配符 *.example.com】。
第三步:重启 backend 容器使配置生效。

















