通过 IP 地址访问 OpenClaw 的完整实战指南

通过 IP 地址访问 OpenClaw 的完整实战指南

本文面向已经在服务器上部署了 OpenClaw 并希望直接通过 IP 地址进行访问的运维/开发人员。全流程涵盖防火墙放行、网关监听地址配置、Nginx 反向代理(可选)以及浏览器/CLI 测试方法。

1️⃣ 前置条件

项目说明
操作系统64 位 Linux(Debian/Ubuntu/CentOS)
DockerDocker Engine ≥ 20.10,Docker‑Compose ≥ 2.0
OpenClaw 镜像docker.1ms.run/alpine/openclaw:v2026.3.8
服务器 IP公网可达的 IPv4(如 203.0.113.42
防火墙需要放通 80/443 或 18789(默认网关端口)

⚠️ 安全提示:直接暴露 OpenClaw gateway 端口会带来风险,建议配合 Nginx 进行 TLS 加密或仅在安全网络内使用。

2️⃣ 配置 OpenClaw 监听所有 IP

默认情况下,OpenClaw gateway 只在本机 127.0.0.1 监听。修改 docker-compose.prod.yml 中的 ports 绑定,使其绑定到 0.0.0.0,或直接使用 - "0.0.0.0:18789:18789"

services:
  openclaw-gateway:
    ports:
      - "0.0.0.0:18789:18789"   # 让外部 IP 可以直接访问

随后重新启动容器:

docker compose -f docker-compose.prod.yml up -d

3️⃣ 放通防火墙端口

如果服务器使用 ufw 防火墙,执行:

sudo ufw allow 18789/tcp   # OpenClaw Gateway 端口
# 如需 HTTPS 通过 Nginx 访问 80/443,也一并放行
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

4️⃣ 可选:使用 Nginx 进行反向代理 & TLS 加密

/etc/nginx/sites-available/openclaw-ip.conf 新建配置:

server {
    listen 443 ssl http2;
    server_name 203.0.113.42;   # 替换为实际服务器 IP

    ssl_certificate /etc/letsencrypt/live/yourdomain/fullchain.pem;  # 如有域名可使用 certbot
    ssl_certificate_key /etc/letsencrypt/live/yourdomain/privkey.pem;

    location / {
        proxy_pass http://127.0.0.1:18789;
        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;
    }
}

启用并重载 Nginx:

sudo ln -s /etc/nginx/sites-available/openclaw-ip.conf /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx

5️⃣ 验证访问

  • 直接访问:在浏览器打开 http://<SERVER_IP>:18789,应出现 OpenClaw 登录页。
  • 通过 Nginx:打开 https://<SERVER_IP>(如果已配置 TLS),同样看到登录页面。
  • CLI 测试:使用 curl -I http://<SERVER_IP>:18789/healthz,返回 200 OK 即表示网关健康。

6️⃣ 常见问题排

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容