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

Node.js运行无报错访问localhost:3000提示ERR_CONNECTION_REFUSED如何解决

问题排查及解决步骤

第一步:确认服务实际启动状态

你当前的代码没有添加监听成功的回调逻辑,无法直观判断服务是否真的完成端口监听,首先修改代码:

const http = require('http');

var server = http.createServer(
    (request, response)=>{
        response.end('hello');
    }
);
// 显式绑定IPv4地址,添加启动日志确认监听成功
server.listen(3000, '127.0.0.1', () => {
    console.log('服务启动成功,可访问 http://127.0.0.1:3000 测试');
});

修改后重新执行node app.js,如果终端没有输出上面的启动日志,说明服务根本没有完成监听,优先排查以下情况:

  • 检查当前终端的工作目录是否和app.js存放目录一致,避免执行了其他目录的空文件
  • 右键VS Code选择「以管理员身份运行」后重新启动服务,排除普通用户权限不足导致的监听被系统静默拦截问题

第二步:校验端口占用情况

如果修改代码后依旧没有启动日志,执行如下命令查看3000端口占用情况:
netstat -ano | findstr :3000

  • 如果返回结果中没有LISTENING状态的记录,说明端口没有被任何程序监听,尝试更换其他端口(比如3001、8080)重新启动服务,确认是否是端口被系统预留导致无法绑定
  • 如果返回结果有LISTENING记录,查看对应PID,打开任务管理器「详情」页核对PID对应的进程是否为node.exe:如果是其他程序占用端口,关闭对应程序或更换node服务端口即可;如果是node.exe占用但访问不通,继续下一步排查

第三步:排除访问端拦截问题

  • 检查系统代理、VPN是否开启,开启状态下尝试关闭代理/VPN,或将127.0.0.1、localhost加入代理忽略列表
  • 不要直接用浏览器测试,新开一个cmd窗口执行curl http://127.0.0.1:3000,如果返回hello说明服务正常,是浏览器侧的问题:可以清理浏览器缓存、关闭广告拦截类插件、用无痕模式访问测试
  • 临时关闭Windows Defender防火墙,测试是否可以访问,如果关闭后可正常访问,重新配置入站规则,确保规则是针对TCP协议的3000端口、允许所有配置文件的连接

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 14:57:03