如何在局域网内访问Linux上运行的ReactJS应用?
解决局域网内无法访问Linux上React应用的问题
核心排查与修复步骤
- 先验证本地可用性:在Linux本机执行
curl http://0.0.0.0:3000(默认端口为3000,若修改过请替换),确认应用能正常响应,排除应用启动失败的问题。 - 获取正确的局域网IP:执行
ip addr(或ifconfig),找到对应网卡(如wlan0/eth0)的局域网IP(格式类似192.168.x.x),其他设备必须用这个IP访问,不能直接用0.0.0.0。 - 确认端口监听状态:执行
netstat -tulpn | grep 3000,检查输出中监听地址是否为0.0.0.0:3000:- 若显示为
127.0.0.1:3000,说明--host 0.0.0.0未生效,修改package.json的start脚本为"start": "HOST=0.0.0.0 react-scripts start",再重新启动应用。
- 若显示为
- 检查路由器AP隔离:部分路由器默认开启AP隔离,会阻止局域网内设备互访,进入路由器后台关闭该功能(通常在无线设置板块)。
- 测试设备连通性:在手机上ping Linux机器的局域网IP,若ping不通,确认两台设备在同一WiFi/局域网,排查路由器是否限制设备间通信。
- 更换端口尝试:若3000端口被占用,执行
PORT=3001 npm start --host 0.0.0.0,用新端口访问。
版本适配注意事项
- 新版本create-react-app可直接在项目根目录创建
.env文件,添加以下内容后启动:HOST=0.0.0.0 PORT=3000 - 关闭防火墙后建议重启网络服务(如
systemctl restart network),确保规则生效。
内容的提问来源于stack exchange,提问作者the_yaz2000
相关产品推荐
相关产品推荐

