0

我正在尝试构建一个应用程序来从本地数据库中检索数据,我有一个移动应用程序、服务器(在托管服务上)和本地服务器(在我的电脑上)的应用程序的结构,我正在尝试制作移动应用程序通过普通 HTTP 请求从服务器请求数据,然后服务器从本地服务器请求数据,但是我无法连接到本地服务器的问题我相信我无法连接到本地服务器,因为我的本地服务器没有公共IP,所以我试图找到一种更好的方法来实现我的想法。

描述应用程序结构的图像

我读过一些关于 Websocket 的东西,但我不知道它是否适合我的想法,因为它是双向连接,最常用于聊天应用程序

我想用NodeJs构建应用程序,那么我应该怎么做才能实现这个想法,谢谢你的帮助。

4

1 回答 1

1

每台服务器都在不同的网络上,主服务器在 Heroku 主机上,本地服务器在我的个人电脑上

如果您将本地服务器移至 Heroku,您的生活会轻松很多,在那里他们可以更轻松、更安全地相互交谈。

您无法从 Heroku 服务器连接到私有本地网络上的服务器,因为它位于家庭路由器的防火墙后面。要允许这样的连接,您必须为您的家庭网络配置一个已知的公共 IP 地址(如果可以更改,则不会更改或使用 DDNS)并在您的防火墙/路由器中配置端口转发,以便从 Internet 上的传入连接特定端口可以访问您的本地服务器。然后,您必须加强本地服务器以抵御随机 Internet 攻击,因为它将对 Internet 开放。

另一种可能性是您可以让您的本地服务器连接到您的 Heroku 服务器(可能通过使用某种秘密凭证的 webSocket 连接)。由于您的 Heroku 服务器已经可以从您的家庭网络访问,这将需要较少的网络配置更改。根据您尝试在两台服务器之间执行的操作,您可以让本地服务器向 Heroku 服务器发出常规的 http 请求(发送数据或请求数据),或者您可以先建立 webSocket 连接,然后再建立数据可以通过 webSocket 连接的任何一种方式发送。

于 2020-09-26T16:16:36.763 回答