javascript - 允许远程服务器访问本地主机上的 API 服务器
问题描述
我正在尝试用我的 Raspberry Pi 做一些家庭自动化。现在我已经设置了一个 Node+Express API 服务器(地址http://192.168.100.100:3000
,本地文件夹~/api
),用于将信号发送到空调并从中获取信息。
除此之外,我用 Vuejs 构建了一个 webapp 来管理 AC,并设置了一个 Nginx 服务器来访问 webapp(地址:http://192.168.100.100
,本地文件夹~/controller/dist
)。一切都在本地网络上完美运行,但我想远程访问所有内容。所以我已经转发了端口80
,我可以通过互联网访问 webapp,但是它不起作用,因为它无法访问 API 服务器。
是否正常,我还必须转发 port 3000
,或者有没有办法告诉应用程序在 localhost 上查找 API?
解决方案
您可以转发端口 3000,它应该可以工作。
另一种选择是使用ngrok。它允许您直接打开通往 API 的隧道(无论您的防火墙设置如何)。您所要做的就是注册一个免费帐户,您将能够拥有一个无限期运行的隧道。唯一的缺点是您需要使用他们的shortUrl(就像https://asdasd12.ngrok.io
每次重新启动时都会更改。您可以付费摆脱它,并获得一个永久的子域(Like https://myniceapi.ngrok.io
)