夜雨聆风学习资料网

ARTICLE · 1321941

OpenClaw 修改默认端口方法与避坑指南:从踩坑到填坑,一篇讲透


OpenClaw 修改默认端口方法与避坑指南:从踩坑到填坑,一篇讲透

默认端口 18789 正在被扫描?改端口不是改个数字那么简单,这些坑你千万别踩!

📌 前言

最近看到 国家互联网应急中心(CNCERT)和 北京大学等机构的安全公告(参见文末的参考资料),都在强调不要将 OpenClaw 的默认端口(18789/19890)暴露到公网。加上自己部署在阿里云上的服务器这两天也收到了一些攻击信息,于是决定给自己的 OpenClaw 改个端口。

实操起来其实不复杂,几分钟就可以搞定,不过也有些小坑一不留神就会踩到。

今天把整个过程记录下来,希望能帮到同样打算修改端口的朋友。


🤔 为什么一定要改默认端口?

先说说为什么要费这个劲。

OpenClaw 的默认端口 18789 是公开的、众所周知的。这意味着:

  • 🔓 黑客的自动化扫描工具会优先探测这个端口
  • 🎯 一旦发现,就会尝试暴力破解或利用已知漏洞
  • 💥 如果你的 OpenClaw 恰巧存在未修复的漏洞,后果不堪设想

我自己的云服务器这两天就收到了病毒提示和攻击提醒:

改端口虽然不能解决所有安全问题,但可以过滤掉 90% 以上的自动化扫描攻击,属于投入产出比极高的安全措施。

💸 顺便说说我的云服务器

我的 OpenClaw 部署在阿里云服务器上,日常使用是用我本地的电脑(MacOS)。

选择阿里云的原因很简单:新手注册有3个月免费额度(300元),可以用来买台服务器低成本学习,薅一下大厂的羊毛。

⚠️ 小坑提醒:要小心厂商推荐的服务项目。我就不小心使用了云安全中心的杀毒功能,虽然它提醒我这是付费的,但我以为可以从300元免费额度里扣就同意了。还好没预充值,欠费5.3元后自动停掉了。

后面收到欠费提醒,赶紧上去把服务关了。反正本来就是学习用的服务器,也没啥有价值的东西,被黑就黑了呗😆。

不过如果是正式生产环境,一定要做好防护!


🛠️ 第一步:修改配置文件

OpenClaw 的配置文件通常位于:

  • 根目录下的 openclaw.json
  • 或 ~/.openclaw/openclaw.json

找到配置文件后,需要修改两个关键位置。

1️⃣ 修改服务端口

找到 gateway.port字段,把默认的 18789改成你想要的新端口。

{"gateway": {"port": 28789,  // 改成你想要的端口号    ...  }}

端口选择建议:

  • 推荐范围:10000~60000
  • 避免使用常见服务端口(如 8080、3306、5432 等)
  • 务必确认新端口没有被占用

📖 如何检查端口是否被占用?

# 方法一:使用 ss 命令(推荐)ss -tlnp | grep :你的端口号# 方法二:使用 netstatnetstat -tlnp | grep :你的端口号# 方法三:使用 lsoflsof -i :你的端口号
  • 有输出→ 端口已被占用,换个端口再试
  • 无输出→ 端口空闲,可以使用 ✅

2️⃣ ⚠️ 关键踩坑点:别忘了改 CORS 白名单!

这是很多人(包括我)容易忽略的地方。

配置文件中还有一个 allowedOrigins字段:

"allowedOrigins": ["http://localhost:18789"]

这个配置的作用是什么?

它是浏览器的跨域资源共享(CORS)白名单,告诉 OpenClaw 服务端:只有来自这些地址的网页请求,我才应该响应。

如果不修改会怎样?

  • ✅ 前端页面能打开
  • ❌ 但所有需要与后端交互的功能(发消息、看状态等)都会失败
  • ❌ 浏览器控制台(F12)会报经典的 CORS 错误

正确的修改方式:

"allowedOrigins": ["http://localhost:你的新端口号"]

💡 安全建议:除非有特殊需求,不要把 allowedOrigins设为 ["*"],这会允许任意网站访问你的 OpenClaw,极度危险!

3️⃣ (推荐)限制监听地址

为了进一步增强安全,可以限制服务只监听本地:

{"gateway": {"bind": "loopback",  // 只允许本机访问    ...  }}

✅ 确认一下:bind的值是否是 loopback或 127.0.0.1?这个配置只允许本机访问,比较安全,推荐配置。

如果需要远程访问怎么办?

可以配合 SSH 隧道使用,不需要开放端口到公网,更加安全。

# 在本地电脑(MacOS/Windows/Linux)终端执行:ssh -p OpenClaw服务器SSH端口号 \    -L OpenClaw新端口号:127.0.0.1:OpenClaw新端口号 \    OpenClaw服务器用户名@OpenClaw服务器公网IP
  • 输入服务器对应的用户密码,回车没报错即可
  • 然后在本地电脑的浏览器访问 http://localhost:你的新端口号就可以操作 OpenClaw 的控制台页面了

⏳ 注意:修改端口后,要等下文说的重启服务执行完,才能正常访问。


🔄 第二步:重启服务

配置改完了,怎么让新配置生效?

🐛 踩坑现场:systemctl --user 报错

我按照文档执行了:

systemctl --user restart openclaw-gateway

结果报错:

Failed to connect to bus: Operation not permitted

🔧 填坑过程:为什么会出现这个错误?

原因很简单:**我是在 root 用户下执行的 systemctl --user**。

--user参数是用来管理普通用户的用户级服务的,而 root 用户的环境里没有运行着对应的用户级服务管理程序,所以会报权限错误。

✅ 正确的重启方式

大多数通过官方脚本安装的 OpenClaw 是系统级服务,直接执行:

systemctl restart openclaw-gateway

如果提示服务未找到,可以先查找正确的服务名:

systemctl list-units | grep -i openclaw

然后用找到的服务名重启。


✅ 第三步:验证是否生效

重启后,务必验证一下:

1️⃣ 检查服务状态

systemctl status openclaw-gateway

确认状态是 active (running)。

2️⃣ 检查端口监听

netstat -tlnp | grep 你的新端口号# 或ss -tlnp | grep 你的新端口号

3️⃣ 查看日志确认

journalctl -u openclaw-gateway.service -f

在日志中应该能看到类似 Listening on port 你的新端口号的信息。


📋 完整操作步骤(七步搞定)

步骤
操作项
0️⃣
检查新端口是否空闲
1️⃣
修改 gateway.port为新端口号
2️⃣
同步修改 allowedOrigins中的端口号
3️⃣
确认 bind为 loopback(推荐)
4️⃣
重启服务(注意用户权限)
5️⃣
验证服务状态和端口监听
6️⃣
配置防火墙/安全组,限制访问来源
7️⃣
启用强身份认证 Token

🛡️ 再加两道安全防线

改端口只是第一步,建议再加上这两项:

1️⃣ 启用强身份认证

在 openclaw.json中设置一个高强度的 Token:

{"gateway": {"auth": {"token": "这里放一个至少32位的随机字符串"    }  }}

📌 说明:这个 Token 首次登录 OpenClaw 控制台页面时需要输入一次。

2️⃣ 配置防火墙/安全组

方法一:系统防火墙(以 UFW 为例)

# 只允许你的 IP 访问新端口ufw allow from 你的IP地址 to any port 你的新端口# 拒绝其他所有对该端口的访问(默认已拒绝)

方法二:云服务商安全组(以阿里云为例)

我在阿里云安全组里做了以下配置:

  1. 入方向新增规则:

    • 协议类型:自定义 TCP
    • 端口范围:OpenClaw 的新端口号
    • 授权对象:只允许我本地电脑的公网 IP
  2. 禁用旧端口:

    • 删除或禁用原来的 18789 端口规则

💡 如果使用其他云服务器(腾讯云、华为云、AWS 等),操作思路类似,都是在安全组/防火墙规则中配置。


📝 写在最后

改端口看起来只是改一个数字,但实际涉及:

  • 📁 配置文件修改
  • 🔗 CORS 白名单同步
  • ⚙️ systemd 服务管理
  • 🔥 防火墙配置
  • 🔐 身份认证

希望这篇踩坑记录能帮你避开我走过的弯路。

安全无小事,多一分配置,少十分风险。


📚 参考资料

本文关于默认端口安全风险的建议,参考了以下官方机构的安全公告:

机构
发布时间
核心建议
原文链接
国家互联网应急中心(CNCERT)
2026年3月22日
建议不将 OpenClaw 默认端口(18789/19890)暴露到公网
点击查看原文
北京大学计算中心
2026年3月10日
排查公网暴露情况,修改为仅监听本地地址

https://its.pku.edu.cn/announce/tz20260310195800.jsp

📌 说明:

  • CNCERT 公告发布于官方微信公众号“国家互联网应急中心CNCERT”,由国家互联网应急中心与中国网络空间安全协会联合发布。
  • 北京大学公告发布于北京大学网络服务官网。


如果你在修改过程中遇到其他问题,欢迎在评论区留言交流!


回首页,搜索你想要的文档

在首页搜索框输入关键词,快速定位资料

文库首页搜索指引 立即搜索

相关学习资料