首页 > 解决方案 > NodeJS 和 React - LAN 连接不起作用

问题描述

描述

我的笔记本 Ubuntu 18.04 上运行着 Node 服务器和 React App。
笔记本ip是10.0.0.101

我试图将我的桌面连接到同一网络上的此服务器
桌面 ip 是 10.0.0.100

节点在PORT=3333
上运行 React 在PORT=3000上运行

我可以从桌面 ping 我的笔记本,但是当我尝试使用 Insomnia 连接到节点或从桌面连接到http://10.0.0.101:3000时,我无法访问。

错误

当尝试使用 Insomnia
错误连接到后端时:无法连接到服务器

当尝试在 10.0.0.101:3000
ERR_CONNECTION_TIMED_OUT上连接到应用程序时

我做了什么

  1. 我已经更改了节点监听并指定了端口和 ip,但它不起作用。
  2. 我尝试将手机用作路由器并从手机连接以在笔记本电脑上做出反应,但也没有用。
  3. 我已经尝试了很多东西,因为我不记得它们了。

我还在创建一个 react-native 应用程序,当我尝试使用 Expo 连接到我的手机时,它只能使用隧道工作,但无法从后端获取数据。

请救救我。
谢谢

标签: node.jsreactjsreact-nativelan

解决方案


在多次尝试失败后,我意识到问题出在我的笔记本上。我检查了我的防火墙,它被禁用了,仍然无法访问我在 LAN 上的笔记本。但最后我发现了必须做的事情

解决方案

您必须为 TCP 流量打开特定端口

Ubuntu:

sudo ufw allow <PORT-NUMBER>/tcp

或对于红帽企业

firewall-cmd --add-port <PORT-NUMER>/tcp

参考:如何打开防火墙端口的例子


推荐阅读