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

React+Node.js应用出现ERR_CONNECTION_REFUSED连接错误求助

排查 ERR_CONNECTION_REFUSED(localhost:5001)问题的核心步骤

1. 先确认后端服务是否真在运行

  • 终端执行对应命令检查端口占用:
    • Windows:netstat -ano | findstr :5001
    • Mac/Linux:lsof -i :5001
  • 无结果=后端没启动:
    • 进入后端目录执行启动命令(npm start/node server.js/nodemon),盯着终端看启动报错(比如依赖缺失、语法错、端口被占)
    • 若报「端口已占用」,要么改后端端口,要么杀掉占5001的进程

2. 核对后端端口配置

  • 确认代码里监听的确实是5001,比如Express代码:
    const port = process.env.PORT || 5001;
    app.listen(port, () => console.log(`Server running on port ${port}`));
    
  • 检查.env文件里的PORT变量,别被改成了其他值

3. 直接验证后端接口可用性

  • 用Postman、curl或浏览器访问http://localhost:5001/api/users/register(替换成你的实际接口路径)
  • 直接访问也报错=后端服务本身有问题:
    • 查路由是否正确定义
    • 查CORS、body-parser这类中间件是否配置到位
    • 查数据库连接是否失败导致服务启动异常

4. 排查跨域与前端请求配置

  • 后端能访问但前端报错:
    • 确认后端装了cors中间件并启用:
      const cors = require('cors');
      app.use(cors()); // 或按需配置允许的域名
      
    • 核对前端请求URL拼写,别把端口写成5000或多打斜杠
    • 若用了Create React App的代理,确认package.json里的proxy是http://localhost:5001,且重启过前端服务

5. 本地环境与防火墙排查

  • 暂时关闭本地防火墙测试,看是否是端口被拦截
  • 关掉VPN/代理工具,避免localhost请求被转发
  • 尝试用127.0.0.1:5001代替localhost:5001发起请求,排除DNS解析问题

常见代码错误点

后端侧

  • 服务器启动代码有语法错误,导致服务启动失败(漏写括号、变量未定义等)
  • 数据库连接超时/失败,服务卡在启动流程,未真正监听端口
  • CORS中间件只允许特定域名,前端域名不在白名单里

前端侧

  • 请求URL硬编码错误(比如写成http://localhost:5000)
  • 用相对路径但代理配置不正确
  • 前端环境变量里的API地址配置错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 02:13:16