连接两个NodeJS服务器的正确方法

时间:2020-09-26 14:43:50

标签: javascript node.js server

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

An Image describing the app structure

我阅读了一些有关Websocket的内容,但我不知道它是否适合我的想法,因为它是双向连接并且最常用于聊天应用程序

我想用NodeJ来构建应用程序,所以我应该怎么做才能实现这个想法,并感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

每个服务器位于不同的网络上,主服务器位于Heroku主机上,本地服务器位于我的个人计算机上

如果将本地服务器移至Heroku,他们可以更轻松,更安全地进行通话,那么对您来说,生活会容易得多。

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

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

相关问题