You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WSL中Express调用Windows本地Grafana API遇ECONNREFUSED错误求助

解决WSL中Express无法调用Windows本地Grafana API的问题

问题分析

错误提示connect ECONNREFUSED ::1:3000说明你的Express请求尝试通过IPv6的localhost(::1)连接Grafana,但WSL与Windows的IPv6网络互通存在问题,或者Grafana仅绑定了IPv4的localhost,导致请求被拒绝。

解决方案

1. 替换localhost为Windows主机的IPv4地址

WSL的localhost和Windows的localhost属于不同网络栈,直接使用Windows的实际IPv4地址即可绕开这个问题:

  • 在Windows命令提示符(cmd)中执行ipconfig,找到「以太网适配器 WSL」或「本地连接」对应的IPv4地址(格式类似192.168.x.x)。
  • 将Express中请求Grafana的URL从http://localhost:3000改为http://[你的Windows IPv4地址]:3000。

2. 修改Grafana绑定所有网卡

让Grafana监听所有可用的网络接口,包括WSL能访问的IPv4地址:

  • 找到Grafana的配置文件grafana.ini(默认路径:C:\Program Files\GrafanaLabs\grafana\conf\grafana.ini)。
  • 定位到[server]区块,将http_addr的值从localhost改为0.0.0.0(表示绑定所有IPv4地址)。
  • 重启Grafana服务(可以在Windows服务列表中找到Grafana服务,右键选择重启)。

3. 强制Express使用IPv4请求

强制Node.js优先使用IPv4解析localhost,避免尝试IPv6连接:

  • 方法一:将请求URL中的localhost替换为127.0.0.1,直接指定IPv4的回环地址。
  • 方法二:启动Express时添加环境变量,执行命令:
    NODE_OPTIONS=--dns-result-order=ipv4first node app.js
    

4. 切换WSL版本至WSL 1

WSL 1与Windows共享网络栈,localhost互通更直接:

  • 打开PowerShell,执行以下命令切换你的WSL发行版版本(将<发行版名称>替换为你的实际版本,比如Ubuntu-22.04):
    wsl --set-version <发行版名称> 1
    
  • 重启WSL后再次尝试调用API。

内容的提问来源于stack exchange,提问作者Alan B.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 14:52:17