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

Node v17+版本下Vite-proxy报ECONNREFUSED错误的解决方案

解决Node v17+下Vite代理连接IPv6 localhost被拒绝的问题

你遇到的ECONNREFUSED ::1:3000错误,核心原因是Node v17及以上版本默认优先将localhost解析为IPv6地址::1,但你的后端API可能只监听了IPv4的127.0.0.1地址,导致代理无法连接。下面是几种可行的解决方法:

方法一:强制代理使用IPv4地址

直接把代理配置里的localhost替换成127.0.0.1,让Vite代理强制连接IPv4地址:

proxy: {
  "/api": {
    target: "http://127.0.0.1:3000",
    changeOrigin: true,
  }
}

方法二:让后端API同时监听IPv6和IPv4

修改你的Node后端服务器代码,将监听地址设置为IPv6通配符::,这样服务器会同时处理IPv6和IPv4请求(系统支持双栈的情况下):

// 原监听代码
// app.listen(3000, '127.0.0.1', () => { ... })

// 修改后的代码
app.listen(3000, '::', () => {
  console.log('Server running on http://localhost:3000');
});

方法三:修改Node的DNS解析优先级

通过环境变量强制Node优先解析IPv4地址,在启动Vite时添加NODE_OPTIONS=--dns-result-order=ipv4first参数。比如在package.json的脚本中修改:

{
  "scripts": {
    "dev": "NODE_OPTIONS=--dns-result-order=ipv4first vite"
  }
}

内容的提问来源于stack exchange,提问作者user14131782

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 03:10:56