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

Win10下Node.js服务无法通过局域网IP访问仅localhost可访问如何解决

解决方案

1. 优先排查业务代码启动逻辑

你当前配置里写死了监听0.0.0.0但实际监听127.0.0.1,90%以上的概率是你导出的这个start方法根本没有被实际调用,或者你的项目所用的框架/脚手架有独立的服务启动配置,覆盖了你写的这段逻辑:

  • 如果你用的是前端开发框架(Vue CLI、Umi、Next.js、Nuxt等),需要去对应框架的配置文件修改监听地址:
    • Vue CLI:修改vue.config.js中devServer.host为0.0.0.0,或启动时加参数 npm run serve -- --host 0.0.0.0
    • Next.js:启动时加参数 npm run dev -- -H 0.0.0.0
    • Umi:修改.umirc中devServer.host为0.0.0.0
  • 检查项目启动入口,确认是否有其他位置调用了server.listen方法,且没有传0.0.0.0作为第二个参数。

2. 用最简脚本验证Node.js本身能力

先退出所有代理、VPN软件,再新建一个test.js文件写入以下内容:

const http = require('http')
const server = http.createServer((req, res) => {
  res.writeHead(200)
  res.end('测试访问成功')
})

server.listen(4000, '0.0.0.0', () => {
  console.log('测试服务已启动')
})

执行node test.js启动服务后,在cmd执行netstat -ano | findstr :4000查看监听地址:

  • 如果显示0.0.0.0:4000,说明Node.js本身没有问题,问题完全出在你的原有项目的启动逻辑上,回到第一步排查即可。
  • 如果还是显示127.0.0.1:4000,再检查Windows系统级配置:查看C:\Windows\System32\drivers\etc\hosts文件是否有将0.0.0.0强制指向127.0.0.1的规则,删除对应规则后重试。

3. 验证访问

确认服务监听0.0.0.0:4000后,你已经配置了防火墙入站规则,同一局域网内设备直接访问http://192.168.X.X:4000即可正常访问。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 22:21:01