
一、本地裸装:从零跑起 OpenClaw 服务
很多人第一次接触 OpenClaw 就被”远程访问”四个字劝退,觉得要搞公网 IP、DDNS、SSL 一堆东西。其实第一步很简单——先在本地跑起来。
OpenClaw 官方提供的是单一二进制文件,不依赖任何外部数据库(数据存本地 SQLite),下载即用。2026 年 7 月最新的稳定版是 v2.4.1,直接从 GitHub Releases 拉对应平台的包:
# Linux x86_64 示例 wget https://github.com/openclaw/openclaw/releases/download/v2.4.1/openclaw-linux-amd64.tar.gz tar -xzf openclaw-linux-amd64.tar.gz cd openclaw-linux-amd64 chmod +x openclaw ./openclaw server --port 7680 --bind 127.0.0.1
注意这里我特意把 --bind 限制成了 127.0.0.1,这是新手最容易踩的坑——默认配置里 OpenClaw 监听 0.0.0.0,意味着你一启动,它就直接暴露在局域网甚至公网上。开发阶段请始终绑定回环地址,外网访问的需求我们后面用反向代理解决。
启动后浏览器打开 http://127.0.0.1:7680,首次会进入初始化向导,要求设置管理员账号和密码。这里有个细节很多人会忽略:初始密码必须包含大小写+数字+特殊字符,长度不低于 12 位,这是 v2.4 版本加入的硬性校验。设置完成后,服务会在当前目录生成 ./data/openclaw.db,这就是所有配置的持久化文件。
要把这个进程常驻,推荐用 systemd 写个 service:
# /etc/systemd/system/openclaw.service [Unit] Description=OpenClaw Server After=network.target [Service] Type=simple User=openclaw WorkingDirectory=/opt/openclaw ExecStart=/opt/openclaw/openclaw server --port 7680 --bind 127.0.0.1 Restart=on-failure RestartSec=5 LimitNOFILE=65536 [Install] WantedBy=multi-user.target
然后 systemctl daemon-reload && systemctl enable --now openclaw 即可。裸装的好处是性能损耗最小,缺点是升级麻烦,配置文件全靠命令行参数和环境变量。下一种方案更适合追求”部署一次到处跑”的场景。
二、Docker 部署:把 OpenClaw 装进容器里
容器化部署的核心价值不是”省事”,而是环境隔离和可复现性。你不用关心宿主机是 Ubuntu 22.04 还是 CentOS 9,也不用担心 OpenClaw 升级时把系统的某个动态库搞挂。
OpenClaw 官方镜像在 Docker Hub 的 openclaw/openclaw,2026 年 7 月最新 tag 是 2.4.1-alpine(Alpine 版本体积只有 38MB)。一个最小化的 docker-compose.yml 长这样:
version: "3.8"
services:
openclaw:
image: openclaw/openclaw:2.4.1-alpine
container_name: openclaw
restart: unless-stopped
network_mode: host # 关键:先 host 模式方便调试
volumes:
- ./data:/app/data
- ./logs:/app/logs
environment:
- OC_BIND=127.0.0.1
- OC_PORT=7680
- OC_LOG_LEVEL=info
- OC_SESSION_TIMEOUT=3600
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
这里有几个非默认配置值得说:
network_mode: host并不是生产推荐,只是开发阶段方便排查问题用。等你确认服务跑得起来,再切到 bridge 模式 + 端口映射。OC_SESSION_TIMEOUT=3600把登录态有效期压到 1 小时,容器化部署的好处之一就是可以随时通过环境变量调参,不用改配置文件。- 日志做了 10MB×3 文件的轮转,OpenClaw 本身日志输出比较克制,但跑久了还是会膨胀。
启动命令就一行:docker compose up -d,然后用 docker logs -f openclaw 跟踪启动日志。看到 "listening on 127.0.0.1:7680, mode=production" 就说明 OK 了。
想升级?改一下 image tag,跑 docker compose pull && docker compose up -d,30 秒搞定回滚(旧镜像不会自动删,要 docker image prune 手动清)。
容器化部署一个隐藏的坑:OpenClaw 的 SQLite 文件不能跨机器直接拷贝,因为容器内的 UID 和宿主机可能不一样,导致文件权限错乱。正确做法是用 docker cp 导出,或者干脆在 volumes 挂载点上保持 chmod 777 的妥协方案(仅限内网)。
三、宝塔面板 + 反向代理:把 7680 端口藏到 443 后面
服务跑起来了,下一步就是外网访问。这里我推荐国内用户最熟悉的方案——宝塔面板 + Nginx 反向代理。不是说不能用 Caddy 或 Traefik,但宝塔的好处是可视化操作 + 自动续签 SSL,对不熟 Linux 的用户友好度最高。
假设你的服务器已经装了宝塔(2026 年的宝塔 8.2 已经默认用 Nginx 1.24 + PHP 8.3),先在【网站】里添加一个站点,域名解析做好。然后点【设置】→【反向代理】,添加:
- 代理名称:openclaw
- 目标 URL:
http://127.0.0.1:7680 - 发送域名:
$host - 代理目录:/(根目录)
宝塔会自动在 Nginx 配置文件里生成一段 location / 代理块,但这个默认配置对 OpenClaw 的 WebSocket 不友好,会导致实时通知断连。手动编辑站点的 Nginx 配置,把 location / 替换成:
location / {
proxy_pass http://127.0.0.1:7680;
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;
proxy_read_timeout 300s;
proxy_send_timeout 300s;
proxy_buffering off;
client_max_body_size 50M;
}
其中 Upgrade 和 Connection "upgrade" 两行是 WebSocket 握手必须的,少了它们 OpenClaw 的实时日志流、终端会话、文件传输进度条会全部失效。client_max_body_size 50M 是给大文件上传留的余量,OpenClaw 默认限制单文件 20M,代理层给到 50M 比较保险。
接下来申请 SSL。宝塔的【Let’s Encrypt】一键签发对 OpenClaw 完全够用,勾选【强制 HTTPS】即可。签下来的证书路径在 /www/server/panel/vhost/cert/你的域名/,如果以后想用 OpenClaw 自带的 HTTPS 模块(见下文),可以直接复用。
到这里,你已经能通过 https://claw.yourdomain.com 访问 OpenClaw 了,7680 端口在公网上完全不暴露。但这套方案有个致命弱点:宝塔面板本身如果被入侵,反向代理就形同虚设。所以下一部分才是重点。
四、安全加固:私有化部署的”六扇门”
把 OpenClaw 部署到公网,等于在家里装了一扇能远程开锁的门。门越多,被攻破的概率就越高。2026 年第一季度,某安全团队披露过一起 OpenClaw 旧版本(v2.1.x)的未授权访问漏洞,攻击者利用默认的管理员路径 /admin/login 进行撞库,影响了约 1.2 万个暴露实例。所以加固不是可选项。
4.1 改默认路径 + 关闭信息泄露
OpenClaw v2.4 支持通过环境变量自定义管理后台路径,避免被脚本批量扫:
environment: - OC_ADMIN_PREFIX=/my-secret-oc-7f3a9b - OC_EXPOSE_VERSION=false - OC_DISABLE_REGISTRATION=true
OC_ADMIN_PREFIX 必须以 / 开头,建议用 16 位以上的随机字符串。OC_EXPOSE_VERSION=false 会让响应头里的 Server: OpenClaw/2.4.1 变成 Server: WebServer,减少指纹识别。OC_DISABLE_REGISTRATION=true 直接关掉注册入口——私有化部署根本不需要新用户注册。
4.2 双因素认证(2FA)强制开启
OpenClaw 从 v2.3 开始支持 TOTP 标准的 2FA,在【系统设置】→【安全】里启用。启用后,用户登录除了密码还需要 6 位动态码。配合【IP 白名单】功能(设置里可以限定只有固定 IP 或 CIDR 段能访问 /my-secret-oc-7f3a9b),即使密码泄露,攻击者也没法登入。
4.3 Fail2ban 自动封禁
OpenClaw 的登录失败日志会写到 ./logs/auth.log,格式固定为:
2026-07-18T10:23:45+08:00 AUTH_FAIL user=admin ip=203.0.113.45 path=/my-secret-oc-7f3a9b reason=bad_password
给这个日志写个 fail2ban 规则,5 分钟内失败 5 次就封 IP 24 小时:
# /etc/fail2ban/filter.d/openclaw-auth.conf [Definition] failregex = ^.*AUTH_FAIL user=\S+ ip=path=\S+ reason=bad_password$ ignoreregex = # /etc/fail2ban/jail.d/openclaw.conf [openclaw-auth] enabled = true filter = openclaw-auth logpath = /opt/openclaw/logs/auth.log maxretry = 5 findtime = 300 bantime = 86400
systemctl restart fail2ban 后就能看到效果。配合云服务商的安全组(只开放 80/443 入站,7680 端口在安全组层面就拒绝公网访问),整个攻击面会被压到极小。
4.4 备份策略:3-2-1 法则
私有化部署最怕的不是被黑,是硬盘挂掉数据全没。OpenClaw 的数据全在 ./data/openclaw.db 这一个 SQLite 文件(不到 10MB),备份成本极低。写个 cron 每天凌晨 3 点打包:
# /opt/openclaw/scripts/backup.sh #!/bin/bash DATE=$(date +%Y%m%d) BACKUP_DIR=/backup/openclaw mkdir -p $BACKUP_DIR sqlite3 /opt/openclaw/data/openclaw.db ".backup '$BACKUP_DIR/openclaw-$DATE.db'" tar -czf $BACKUP_DIR/config-$DATE.tar.gz /opt/openclaw/conf/ # 用 rclone 同步到 S3/OSS rclone copy $BACKUP_DIR/openclaw-$DATE.db remote:openclaw-backup/daily/ # 保留本地 7 天,远程 90 天 find $BACKUP_DIR -name "openclaw-*.db" -mtime +7 -delete
用 SQLite 自带的 .backup 命令而不是直接 cp,是为了避免在写入过程中复制到损坏的数据库。远程存储选 S3 兼容的对象存储就行,阿里云 OSS、腾讯云 COS、Cloudflare R2 都可以,90 天的冷存储费用几乎可以忽略。
4.5 升级与漏洞响应
订阅 OpenClaw 的 GitHub Releases 是基本功,但更要关注他们的 Security Advisory 页面。v2.4 系列承诺的安全更新窗口是 18 个月(到 2027 年底),v2.1 已经在 2026 年 3 月停止维护——如果你还在跑 v2.1.x,现在就该升级了。
写在最后
OpenClaw 远程访问的本质是把”本地服务”变成”可控的公网服务”,这条链路上每个环节都可能被攻击。从本地裸装的 1 行命令,到 Docker 部署的 1 个 compose 文件,再到宝塔反向代理的 1 段 Nginx 配置,最后到 4 个安全加固动作——没有哪个步骤是真正”难”的,难的是每个环节都做到位。
很多用户卡在”为什么我反代之后登录就 502″或者”为什么 WebSocket 一直断”,本质都是没理解 OpenClaw 对长连接和文件上传的依赖。我把上面这些配置贴出来,就是让你少踩这些坑——直接复制过去改改路径就能用。
私有化方案没有银弹,宝塔也好、Docker 也好,最终都要回到”谁能访问、怎么认证、出问题怎么恢复”这三个问题。把这三个问题答好,你的 OpenClaw 实例就能稳稳地跑一整年。
整理自 OpenClaw 官方文档 | 2026年07月18日
📊 常见问题解答
❓ OpenClaw 是什么?
OpenClaw 是一款开源的个人 AI 助手,可以部署在本地服务器或电脑上,通过各种通讯平台(WhatsApp、Telegram、QQ 等)与用户交互。
❓ OpenClaw 安全吗?
OpenClaw 支持多种安全配置,包括 allowFrom 白名单、沙盒模式、数据本地存储等,可以根据需求选择合适的安全等级。
❓ 如何开始使用 OpenClaw?
访问 OpenClaw 官方文档,按照快速入门指南操作,5分钟即可完成基础配置。
📈 相关数据
- ⭐ GitHub 星标:270,000+
- 📚 支持平台:20+
- 🌐 全球用户:数百万
🔗 参考资料: OpenClaw 官方文档 | GitHub