openclaw 默认web ui 访问地址是http://127.0.0.1:18789/#token=** 这种,服务器不做设置通过远程ip是访问不了的,
今天教大家怎么不用反向代理直接用服务器ip 访问
这个操作需要修改openclaw.json 配置文件 找到"gateway": {
修改里面的配置为下面
"gateway": {
"port": 18789, // 监听端口
"mode": "local", // 运行模式 (local: 本地运行)
"bind": "custom", // 绑定模式 (custom: 自定义)
"customBindHost": "0.0.0.0", // 监听所有网卡 (允许公网访问)
"controlUi": { // Web 控制台配置
"allowedOrigins": [ // 允许访问 WebUI 的域名/IP 列表 (CORS 白名单)
"http://localhost:18789",
"http://127.0.0.1:18789",
"http://你的公网ip:18789" // 你的公网 IP
],
"dangerouslyAllowHostHeaderOriginFallback": true, // [不安全] 允许 Host 头作为 Origin 回退 (放宽 CORS)
"allowInsecureAuth": true, // 允许在非 HTTPS 下认证
"dangerouslyDisableDeviceAuth": true // [有风险] 关闭设备配对验证 (任何知道 Token 的人都能连)
},
直接复制下面这段可用,上面是为了告诉你代码什么意思复制上面不能用
"gateway": {
"port": 18789,
"mode": "local",
"bind": "custom",
"customBindHost": "0.0.0.0",
"controlUi": {
"allowedOrigins": [
"http://localhost:18789",
"http://127.0.0.1:18789",
"http://xxxxxx:18789"
],
"dangerouslyAllowHostHeaderOriginFallback": true,
"allowInsecureAuth": true,
"dangerouslyDisableDeviceAuth": true
},
"auth": {
"mode": "token",
"token": "8ebcceb15f34de28075e6cce3be048cc4bab5cb43362c4e9"
}
},
当然你如果想更安全一些可以关掉一些配置 把
"dangerouslyDisableDeviceAuth": true 这行代码删除,删除之后需要去服务器授权链接
这是 OpenClaw 的安全机制,防止未授权的设备连接。你需要批准这个连接请求。
由于你的 OpenClaw 运行在远程服务器上,你有两种方法来批准:
### 方法一:登录远程服务器操作(最稳妥)
1. 使用 SSH 登录你的服务器:
``` ssh 你的登录用户名@外网ip ```
2. 在服务器终端执行以下命令查看待批准的设备:
``` openclaw devices list ``` (你应该会看到一个状态为 pending 的请求)
3. 执行批准命令(批准最新请求):
```openclaw devices approve --latest ``` 或者使用具体的 Request ID:
``` openclaw devices approve <Request-ID>```
至此基本是可以通过 外网ip 访问了 想更简单的可以用方向代理更安全一些,可以看这篇 阿里腾讯远程服务器安装的openclaw怎么通过域名或者外网公网ip访问web ui