无法通过局域网访问本地Express HTTP服务器问题求助
解决Express局域网访问问题的排查步骤
确认服务器绑定地址
Express默认只绑定localhost(127.0.0.1),仅本地可访问。修改启动代码,将监听地址改为0.0.0.0(允许所有网卡接入):app.listen(3000, '0.0.0.0', () => { console.log('服务器运行在 http://0.0.0.0:3000'); });也可以直接绑定电脑的私有IP,比如
192.168.1.100。验证端口监听状态
用命令确认端口是否在正确的地址上监听:- Windows:打开命令提示符,运行
netstat -ano | findstr :3000,检查结果中是否有0.0.0.0:3000或你的私有IP。 - Mac/Linux:终端运行
lsof -i :3000或netstat -tulpn | grep 3000,确认监听地址不是127.0.0.1。
- Windows:打开命令提示符,运行
检查防火墙规则细节
仅添加入站规则可能不够,需确认:- 规则选择的协议是TCP(Express默认用TCP);
- 端口号与服务器监听端口完全一致;
- 规则应用于所有网络类型(域、专用、公网);
- 关闭第三方杀毒软件或防火墙的拦截(部分杀毒软件会覆盖系统防火墙设置)。
确认局域网设备同网段
确保手机和电脑连接同一WiFi/局域网:- 电脑端查看私有IP:Windows用
ipconfig,Mac/Linux用ip addr; - 手机端查看IP(设置-WiFi-当前网络详情),需与电脑IP在同一子网(如
192.168.1.x)。
- 电脑端查看私有IP:Windows用
关闭路由器AP隔离
部分路由器默认开启AP隔离,阻止同WiFi下设备互相访问。登录路由器管理后台(通常是192.168.1.1或192.168.0.1),找到“AP隔离”或“无线隔离”选项并关闭。先测试本地访问
在电脑浏览器中输入http://[你的私有IP]:[端口],如果无法访问,说明服务器绑定或启动有问题,优先排查代码和端口监听;如果能访问,再聚焦局域网连通性问题。
内容的提问来源于stack exchange,提问作者kokiuio
相关产品推荐
相关产品推荐

