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

React+Express局域网跨设备请求超时(ERR_CONNECTION_TIMED_OUT)求助

解决局域网内跨设备无法访问Express服务器的问题

核心排查方向

你的问题是本地能正常请求,但局域网设备请求超时,这说明不是CORS问题(CORS会报跨域错误而非超时),重点要从网络连通性、服务器监听配置入手。

1. 修改Express服务器的监听地址

当前代码中appExpress.listen(3030)默认只绑定127.0.0.1(本地回环地址),只有服务器本机能访问。需要改为监听所有网络接口:

appExpress.listen(3030, '0.0.0.0', () => {
    console.log('ouvindo 3030 em todas as interfaces');
});

0.0.0.0表示服务器会监听所有可用的网卡IP,包括局域网IP,这样其他设备才能通过服务器的局域网地址连接。

2. 确认服务器的局域网IP正确性

客户端代码中写的192.168.170.204必须是服务器电脑的真实局域网IP:

  • Windows:打开命令提示符,执行ipconfig,找到当前网络适配器的IPv4地址
  • macOS/Linux:打开终端,执行ifconfig或ip addr,找到对应的局域网IP
    如果服务器IP是DHCP自动分配的,可能会变动,需要确保客户端请求的地址和服务器当前IP一致。

3. 验证局域网内的连通性

在其他设备上执行以下测试:

  • Ping服务器IP:ping 192.168.170.204,如果不通,说明两台设备不在同一子网,或者路由器有隔离设置
  • 测试端口连通性:用telnet 192.168.170.204 3030(Windows需要先启用telnet功能),或者curl http://192.168.170.204:3030,如果连接失败,说明端口未开放或服务器监听地址错误

4. 检查防火墙的入站规则

即使开放了端口,也要确保规则配置正确:

  • Windows防火墙:进入「高级设置」→「入站规则」,找到3030端口的规则,确认允许连接,且应用到「专用网络」(局域网)
  • Linux:执行sudo ufw allow 3030/tcp或sudo firewall-cmd --add-port=3030/tcp --permanent && sudo firewall-cmd --reload

5. 检查路由器设置

  • 关闭路由器的AP隔离功能(部分路由器默认开启,会阻止同一WiFi下设备互相访问)
  • 确认服务器和其他设备连接的是同一个WiFi或同一局域网网段(比如都是192.168.1.x)

6. 额外注意事项

  • 避免使用可能被占用的端口(比如80、443之外的常用端口,不过你已经换过3030,应该没问题)
  • 如果服务器使用了VPN,可能会导致局域网IP被隐藏,需要关闭VPN测试

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 13:50:31