同一网络下手机无法连接运行JHipster应用的PC问题求助
解决JHipster应用手机无法跨设备访问的问题
先修正启动命令的错误
你用的npm start --host 0:0:0:0格式不对,IP段分隔符是点而非冒号,正确命令应为:
npm start --host 0.0.0.0
这个命令的作用是让应用监听笔记本的所有网卡,而非仅本地回环地址(127.0.0.1)。
按以下步骤逐一排查
确认笔记本本地IP正确性
分别用对应系统命令获取真实局域网IP:- Windows:执行
ipconfig,找到无线/以太网适配器下的IPv4地址 - macOS/Linux:执行
ifconfig或ip addr,找到对应网卡的inet地址
手机访问时必须用这个真实IP,比如http://192.168.1.105:9000,不能用localhost或127.0.0.1(这两个仅本地可访问)
- Windows:执行
检查笔记本防火墙设置
- Windows:打开「Windows Defender防火墙」,允许Node.js进程通过对应网络,或临时关闭防火墙测试(测试后记得恢复)
- macOS:进入「系统设置-网络-防火墙」,确认未阻止Node.js的网络请求
- Linux:执行
ufw status查看防火墙状态,可临时关闭ufw disable测试,或添加端口规则:ufw allow 9000/tcp
验证端口监听状态
笔记本上执行对应命令,确认9000端口被Node.js进程监听且监听地址为0.0.0.0:- Windows:
netstat -ano | findstr :9000 - macOS/Linux:
lsof -i :9000
- Windows:
确认设备在同一局域网
手机和笔记本必须连接同一WiFi(若笔记本用有线,需确保有线网络与WiFi同属一个局域网);可在手机终端APP执行ping [笔记本IP],若ping不通,说明路由器可能开启了设备隔离,需调整路由器设置。检查JHipster的CORS配置
若以上都没问题,打开src/main/resources/config/application-dev.yml,找到CORS相关配置,确保允许跨域访问:cors: allowed-origins: "*" allowed-methods: "*" allowed-headers: "*"修改后重启后端(重新执行
mvnw)和前端服务。
内容的提问来源于stack exchange,提问作者antonio schettino
相关产品推荐
相关产品推荐

