首页 > 解决方案 > 允许远程服务器访问本地主机上的 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?

标签: javascriptnode.jsexpressnginx

解决方案


您可以转发端口 3000,它应该可以工作。

另一种选择是使用ngrok。它允许您直接打开通往 API 的隧道(无论您的防火墙设置如何)。您所要做的就是注册一个免费帐户,您将能够拥有一个无限期运行的隧道。唯一的缺点是您需要使用他们的shortUrl(就像https://asdasd12.ngrok.io每次重新启动时都会更改。您可以付费摆脱它,并获得一个永久的子域(Like https://myniceapi.ngrok.io


推荐阅读