node.js - 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上连接到应用程序时
我做了什么
- 我已经更改了节点监听并指定了端口和 ip,但它不起作用。
- 我尝试将手机用作路由器并从手机连接以在笔记本电脑上做出反应,但也没有用。
- 我已经尝试了很多东西,因为我不记得它们了。
我还在创建一个 react-native 应用程序,当我尝试使用 Expo 连接到我的手机时,它只能使用隧道工作,但无法从后端获取数据。
请救救我。
谢谢
解决方案
在多次尝试失败后,我意识到问题出在我的笔记本上。我检查了我的防火墙,它被禁用了,仍然无法访问我在 LAN 上的笔记本。但最后我发现了必须做的事情
解决方案
您必须为 TCP 流量打开特定端口
Ubuntu:
sudo ufw allow <PORT-NUMBER>/tcp
或对于红帽企业
firewall-cmd --add-port <PORT-NUMER>/tcp
参考:如何打开防火墙端口的例子
推荐阅读
- css - CSS:如何使用网格模板区域将网格嵌套到网格中?
- python - 在 python 中通过 Taylor 级数实现 cos(x)
- r - R:每两个月子集一个股票价格历史
- wordpress - Wordpress 页面上的视频在桌面上加载但在移动设备上不加载
- python - Python Selenium .click 方法不起作用
- reactjs - 将元素推到两侧 Antd (一个左对齐,一个右对齐)
- git - Git 在不同的分支上复制文件
- c# - 是否可以将属性应用于顶级应用程序中生成的 main 方法?
- amazon-s3 - 音频和视频不同步。使用 fluent-ffmpeg 串流 mp4 文件
- php - php vs code项目到aws apache服务器文件权限