OpenClaw Gateway 代理问题排查记录
一、问题背景
在使用 OpenClaw Gateway 时,日志出现如下错误:
AxiosError: connect ECONNREFUSED 127.0.0.1:7890
请求目标:
https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal
含义:
- 程序尝试通过
127.0.0.1:7890代理访问外网 - 但本地 7890 端口没有代理服务
- 因此连接被拒绝(ECONNREFUSED)
产生原因:
- WSL 中仍然存在 代理环境变量
- 或者 gateway 进程继承了旧的代理环境变量
二、OpenClaw Gateway 状态确认
运行:
bash
openclaw gateway status
输出关键内容:
Runtime: running (pid 1528, state active)
RPC probe: ok
Listening: 127.0.0.1:18789
说明:
- gateway 服务运行正常
- systemd 正在托管
- websocket 探测成功
- 监听端口
18789
结论:
Gateway 本身没有问题,问题出在网络代理配置。
三、为什么出现 127.0.0.1:7890
Node / Axios 会自动读取以下环境变量:
HTTP_PROXY
HTTPS_PROXY
http_proxy
https_proxy
ALL_PROXY
如果这些变量存在,例如:
HTTP_PROXY=http://127.0.0.1:7890
请求流程就会变成:
程序
↓
127.0.0.1:7890 (代理)
↓
外网 API
如果代理不存在,就会出现:
ECONNREFUSED
四、检查当前 shell 是否存在代理
运行:
bash
env | grep -i proxy
如果看到:
http_proxy=http://127.0.0.1:7890
https_proxy=http://127.0.0.1:7890
说明代理仍然存在。
五、临时删除代理
执行:
bash
unset http_proxy
unset https_proxy
unset HTTP_PROXY
unset HTTPS_PROXY
unset ALL_PROXY
然后重新启动 gateway。
六、检查 systemd 启动的进程环境变量
因为 gateway 是 systemd 服务启动的,所以需要检查
进程自己的环境变量。
首先查看 PID:
Runtime: running (pid 1528)
然后查看该进程环境变量:
bash
cat /proc/1528/environ | tr '\0' '\n' | grep -i proxy
命令解释
完整命令:
cat /proc/1528/environ | tr '\0' '\n' | grep -i proxy
步骤说明:
1)读取进程环境变量
cat /proc/1528/environ
Linux /proc 是一个虚拟文件系统。
/proc/<pid>/environ
表示:
指定进程的环境变量
输出示例:
PATH=/usr/bin\0HOME=/root\0HTTP_PROXY=127.0.0.1:7890\0
2)替换 NULL 字符
环境变量之间使用 \0 分隔,需要转换成换行:
tr '\0' '\n'
变成:
PATH=/usr/bin
HOME=/root
HTTP_PROXY=127.0.0.1:7890
3)过滤 proxy
grep -i proxy
只显示代理相关变量。
七、如果 gateway 进程仍然带 proxy
说明 systemd 启动时继承了旧环境变量。
解决方法:
systemctl --user restart openclaw-gateway
或者:
systemctl --user stop openclaw-gateway
systemctl --user daemon-reload
systemctl --user start openclaw-gateway
八、彻底重装 gateway 服务(最干净)
openclaw gateway uninstall
openclaw gateway install
openclaw gateway start
这样会重新生成:
- systemd service
- 环境变量
- 启动配置
九、最终结论
本次问题原因:
OpenClaw Gateway 进程仍然使用 127.0.0.1:7890 代理
而当前系统:
代理服务已关闭
因此产生:
ECONNREFUSED
解决方式:
- 删除系统代理环境变量
- 重启 openclaw gateway 服务
- 确认进程环境变量中没有 proxy
十、排查命令总结
查看代理:
env | grep -i proxy
查看进程环境变量:
cat /proc/<pid>/environ | tr '\0' '\n' | grep -i proxy
查看进程启动命令:
cat /proc/<pid>/cmdline
查看进程信息:
ps -fp <pid>
记录时间: 2026-03-06
问题类型: OpenClaw Gateway / WSL / Proxy