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

Node.js+MySQL搭建HTTP Web服务器无法被同局域网设备访问如何解决

问题排查解决步骤

第一步:确认服务监听状态

首先在运行Node服务的设备上执行对应命令,确认监听配置生效:

  • Windows系统:打开cmd执行netstat -ano | findstr 8080,查看是否有0.0.0.0:8080的监听记录
  • Linux/macOS系统:执行lsof -i:8080或者netstat -tulpn | grep 8080,确认监听地址为0.0.0.0而非127.0.0.1
    你代码中的listen配置本身是正确的,绑定了0.0.0.0允许所有网卡访问,这一步主要是确认服务实际运行时监听没有异常。

第二步:排查防火墙限制

这是最常见的故障原因,系统默认防火墙会拦截外部对未放行端口的访问:

  • Windows系统:
    1. 打开「Windows Defender防火墙」-「高级设置」-「入站规则」
    2. 新建规则,选择「端口」,下一步选TCP,特定本地端口填8080,下一步选择允许连接,后续步骤默认配置即可,保存后重新测试
    3. 临时验证可直接关闭防火墙,验证通过后记得重新开启防火墙并添加规则
  • Linux系统:
    1. 若使用ufw管理防火墙,执行ufw allow 8080/tcp放行端口
    2. 若使用firewalld管理防火墙,执行firewall-cmd --zone=public --add-port=8080/tcp --permanent,再执行firewall-cmd --reload使配置生效
  • macOS系统:
    打开「系统设置」-「网络」-「防火墙」,点击「选项」,将Node.js程序添加到允许传入连接的列表中,也可以直接放行8080端口。

第三步:确认局域网连通性

使用同局域网的其他设备,执行ping命令测试与服务端的网络连通性:

  • 执行ping 192.168.1.117,如果出现请求超时,说明两台设备不在同一局域网,或者路由/交换机开启了设备隔离规则,需要先排查基础网络连通性。

注意:部分路由器默认开启了AP隔离功能,会阻止同一WiFi下的不同设备互相通信,需要登录路由器后台关闭该功能。

第四步:验证端口连通性

ping通的前提下,用telnet或tcping工具验证端口是否开放:

  • 执行telnet 192.168.1.117 8080,如果可以成功连接说明端口已开放,问题出在服务本身逻辑;如果连接失败说明端口仍被拦截,回到第二步排查防火墙,也可以检查是否有第三方安全软件(如360、电脑管家等)拦截了端口访问。

额外说明

你代码中的MySQL连接配置和HTTP服务监听是独立逻辑,MySQL连接异常只会影响数据库相关业务,不会导致HTTP服务无法访问,排查阶段可以暂时不用调整MySQL配置,优先排查HTTP服务的网络连通性即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 10:39:01