问题描述
我有一个 react 应用程序以及一个在 ipv4 地址为 192.168.1.5 的计算机上运行的 express api 在端口 3000 和 9000 上。
在该计算机上浏览 http://localhost:3000 时,我的应用程序正常运行,我可以向 api 发出请求。但是,当我从另一台本地机器打开应用程序时,我得到以下输出:
这是在我的反应应用程序中发出请求的基本网址:
将 baseUrl
更改为 http://192.168.1.5:9000/api 可使应用程序在同一网络中的另一台机器上运行,但不再在主机上运行。
所以我的问题是,我需要配置什么才能让应用程序在我的本地计算机以及同一网络上的另一台计算机上运行?
解决方法
您可能会在 express 服务器中使用此行
app.listen(3000,() => console.log("Listening"));
传递 "0.0.0.0"
作为主机地址。
app.listen(3000,"0.0.0.0");
确保您的防火墙允许入站规则中的选定端口。
另请看ngrok。基本上,它会将您的服务器暴露在 Internet 上!
是的,公共互联网。
在启动 ngrok 服务之前,先启动 express 服务器。将服务器端口传递给 ngrok 参数。
npm install ngrok -g
ngrok http 3000