Administrator
发布于 2026-03-06 / 2 阅读
0
0

手机外网访问 OpenClaw UI 配置指南

架构概览

手机 → https://你的域名.com (云服务器 nginx:443)
     → nginx 反代到 frps:8888 (本地监听)
     → frp 隧道 (frps:7000 ↔ frpc)
     → 本地电脑 OpenClaw:18789

前提条件

  • 一台有公网 IP 的云服务器(如阿里云、腾讯云)
  • 一个已备案的域名
  • 本地电脑运行 OpenClaw

第一步:云服务器配置

1.1 下载安装 frp

mkdir -p /root/frp && cd /root/frp
wget https://ghproxy.com/github.com/fatedier/frp/releases/download/v0.61.1/frp_0.61.1_linux_amd64.tar.gz
tar -xzf frp_0.61.1_linux_amd64.tar.gz --strip-components=1
rm -f frp_0.61.1_linux_amd64.tar.gz

1.2 创建 frps 配置文件

cat > /root/frp/frps.toml << 'EOF'
bindPort = 7000
vhostHTTPPort = 8888
auth.token = "你的密码_自己设一个"
log.to = "/var/log/frps.log"
log.level = "info"
log.maxDays = 7
EOF

1.3 创建 systemd 服务(开机自启)

cat > /etc/systemd/system/frps.service << 'EOF'
[Unit]
Description=frps service
After=network.target

[Service]
Type=simple
ExecStart=/root/frp/frps -c /root/frp/frps.toml
Restart=on-failure
RestartSec=5s

[Install]
WantedBy=multi-user.target
EOF

systemctl daemon-reload
systemctl enable frps
systemctl start frps

1.4 配置 nginx 反代

cat > /etc/nginx/conf.d/openclaw.conf << 'EOF'
server {
    listen 80;
    server_name 你的域名.com;

    location / {
        proxy_pass http://127.0.0.1:8888;
        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_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}
EOF

nginx -t && nginx -s reload

1.5 开放安全组端口

在云服务器控制台的安全组中开放:

  • 7000 端口(frp 通信端口)

第二步:域名解析

在域名 DNS 管理页面添加 A 记录:

类型 主机记录 记录值
A 你的前缀 云服务器公网IP

例如:openclaw.example.com123.45.67.89


第三步:本地 Windows 配置

3.1 下载 frp

https://ghproxy.com/github.com/fatedier/frp/releases 下载 Windows 版本,解压到 C:\frp\

3.2 创建 frpc 配置文件

C:\frp\ 目录创建 frpc.toml

serverAddr = "云服务器公网IP"
serverPort = 7000
auth.token = "你的密码_和服务器一致"

[[proxies]]
name = "openclaw"
type = "http"
localIP = "127.0.0.1"
localPort = 18789
customDomains = ["你的域名.com"]

3.3 设置开机自启(Windows 任务计划)

以管理员身份运行 PowerShell:

$action = New-ScheduledTaskAction -Execute "C:\frp\frpc.exe" -Argument "-c C:\frp\frpc.toml" -WorkingDirectory "C:\frp"
$trigger = New-ScheduledTaskTrigger -AtStartup
$settings = New-ScheduledTaskSettingsSet -StartWhenAvailable -DontStopOnIdleEnd -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries
$principal = New-ScheduledTaskPrincipal -UserId "SYSTEM" -LogonType ServiceAccount -RunLevel Highest
Register-ScheduledTask -TaskName "OpenClaw-frpc" -Action $action -Trigger $trigger -Settings $settings -Principal $principal -Description "OpenClaw frpc tunnel" -Force

3.4 启动 frpc

Start-ScheduledTask -TaskName "OpenClaw-frpc"

第四步:配置 OpenClaw Gateway

编辑 C:\Users\你的用户名\.openclaw\openclaw.json,在 gateway.controlUi.allowedOrigins 中添加你的域名:

"controlUi": {
  "allowedOrigins": [
    "http://localhost:18789",
    "http://127.0.0.1:18789",
    "http://你的域名.com",
    "https://你的域名.com"
  ]
}

然后重启 Gateway:

openclaw gateway restart

第五步:手机访问

  1. 手机浏览器打开 https://你的域名.com
  2. 首次访问会显示 "pairing required"
  3. 在本地电脑运行以下命令查看待配对设备:
    openclaw devices list
    
  4. 批准配对请求:
    openclaw devices approve <RequestID>
    
  5. 刷新手机页面即可使用

常用命令

云服务器

# 查看 frps 状态
systemctl status frps

# 重启 frps
systemctl restart frps

# 查看日志
tail -f /var/log/frps.log

本地 Windows

# 启动 frpc
Start-ScheduledTask -TaskName "OpenClaw-frpc"

# 停止 frpc
Stop-ScheduledTask -TaskName "OpenClaw-frpc"

# 查看 frpc 进程
Get-Process -Name "frpc"

# 查看待配对设备
openclaw devices list

# 批准配对
openclaw devices approve <RequestID>

端口说明

端口 用途 是否对外开放
7000 frpc ↔ frps 通信
8888 nginx → frps 内部转发 否(仅本地)
80/443 nginx 对外服务
18789 OpenClaw Gateway 否(仅本地)

故障排查

  1. 连接超时 → 检查云服务器安全组是否开放 7000 端口
  2. 域名无法访问 → 检查 DNS 解析和 nginx 配置
  3. origin not allowed → 检查 openclaw.json 中的 allowedOrigins
  4. pairing required → 运行 openclaw devices approve <RequestID> 批准配对


评论