OpenClaw端口无法访问?全链路排查与安全组配置详解

很多开发者在部署 OpenClaw 时,明明看着 Docker 容器已经 Running,但在浏览器输入 IP:18789 却只得到一个冷冰冰的“无法连接”或“Connection Refused”。这种openclaw端口无法访问的情况,往往不是服务本身挂了,而是卡在了网络链路的某个关卡上。

这就像是你开了一家店,店员都在里面忙活,但大门却被锁上了,或者保安不让顾客进门。本文将抛弃那些泛泛而谈的“检查网络”,带你从服务器内部防火墙到云厂商的安全组,进行一次全链路的排查。

为什么 OpenClaw WebUI 打不开?先看 Docker 映射

当你发现 OpenClaw WebUI打不开怎么办时,第一反应不应该是去改代码,而是检查你的“大门”有没有对齐。OpenClaw 默认监听容器内的 18789 端口,很多新手在启动 Docker 时容易忽略端口映射参数,导致宿主机的请求根本传不进容器里。

执行 docker ps 命令,仔细观察 PORTS 这一列。

Image

如果你看到的不是 0.0.0.0:18789->18789/tcp,而是只有 18789/tcp 或者映射到了错误的端口,那就是典型的OpenClaw Docker端口映射失败排查场景。你需要停止容器,加上 -p 18789:18789 参数重新启动。

如果你不想每次都手动敲这些复杂的 Docker 命令,或者担心环境依赖问题,可以直接使用OpenClaw镜像预装工具。在七牛云控制台选择这个预装镜像,它已经帮你处理好了底层的环境配置和端口预设,能省去大量手动 Debug 的时间。

穿越火线:服务器防火墙与云安全组

确认 Docker 没问题后,如果依然面临OpenClaw连接被拒,那就要看“保安”拦不拦人了。这里有两层保安:一是服务器操作系统内部的防火墙(如 ufw 或 firewalld),二是云服务商提供的外部安全组。

很多教程只告诉你关防火墙,这其实很不安全。正确的做法是针对性地进行OpenClaw 18789端口放行

在 Ubuntu 系统中,你可以使用 sudo ufw allow 18789/tcp 来精准放行。而在 CentOS 中,则需要操作 firewall-cmd --zone=public --add-port=18789/tcp --permanent 并重载配置。

搞定内部防火墙后,更关键的是云服务器OpenClaw安全组规则配置。这是绝大多数云服务器用户“翻车”的地方。云厂商默认的安全组策略通常只开放 22 (SSH) 和 80/443 (Web) 端口,其他的默认拒绝。

你需要登录云控制台,找到对应的实例安全组,添加一条入站规则:协议选择 TCP,端口范围填写 18789,授权对象设为 0.0.0.0/0(或者你自己的 IP 段)。

Image

配置完成后,OpenClaw 应该就能正常访问了。如果你需要更详细的步骤,可以参考OpenClaw 安装配置指南,里面涵盖了从基础安装到高级配置的完整流程。

进阶排查:Gateway Connection Refused 与 API 配置

有时候,端口通了,WebUI 也能打开,但是在使用过程中却弹出 OpenClaw gateway connection refused解决 相关的错误。这通常不是端口问题,而是服务内部通信或 API 调用受阻。

OpenClaw 作为一个强大的 AI 代理工具,核心能力在于调用各种大模型 API。如果你的 API Key 配置有误,或者网络无法触达模型服务商的端点,就会出现连接错误。

为了确保推理服务的稳定性和兼容性,建议使用标准的 OpenAI 格式接口。你可以去申请七牛云API key,它提供了完美兼容 OpenAI 与 Anthropic 标准的接入端点。配置好这个 Key 之后,不仅解决了连接拒绝的问题,还能让你在 OpenClaw 中自由切换 Minimax、GLM、Deepseek 等多种模型,甚至还有最高 600 万的免费 Token 额度可以薅羊毛。

总结

解决 OpenClaw 端口访问问题,核心在于“由内而外”的排查逻辑:先看 Docker 映射是否正确,再查系统防火墙是否放行,最后确认云安全组是否开启。每一步都要确保配置生效,而不是盲目重启。当你打通了网络链路,并配置好稳定的 API 服务,OpenClaw 才能真正发挥它作为 AI 效率工具的威力。