1

我正在尝试将我的节点应用程序部署到我的 Cpanel 但是页面超时并出现错误

503 Service unavailable

该网站可以在 Heroku、ngrok 和 localhost 上运行,但在我的托管服务上却不行。
我发现问题是由于端口 27017 未打开。
在与我的托管服务提供商讨论时,他们说
“我们可以为您打开端口,但我们的政策是向特定 IP 开放非标准端口,以提高服务器的安全性。是否可以获得数据库服务器的确切 IP 地址您正在尝试连接。”

所以我不熟悉具有特定 IP 地址的 mongodb 数据库。他们是什么意思?

4

1 回答 1

1

要连接到您的数据库,您的节点应用程序需要一个类似这样的 URL。

const url = 'mongodb://hostnameOfMongo.example.com:27017'

您的数据库的主机名是 aftermongodb://和 before的东西:27017

打开一个外壳(一个命令窗口)并输入

  ping -n 1 hostnameOfMongo.example.com

或者可能

  ping -c 1 hostnameOfMongo.example.com

它应该向您显示与您的 mongo 服务器关联的 IP 地址。(Obvs,将您的实际数据库主机名放入命令中,而不是我的示例。)

当您不知道 IP 地址时,您的托管服务提供商没有询问主机名,这有点奇怪。如果他们是我的托管服务提供商,我对他们支持能力的信心会因此下降一个档次。

请注意,在一个数据中心运行一个数据库,而在另一个数据中心运行一个节点应用程序(或者实际上任何使用数据库的应用程序)是性能差和不可靠性的一个公式。该应用程序和数据库最适合连接它们的短专用网络。恕我直言,您似乎不太可能拥有使这种东西稳定可靠的网络工程能力。

更不用说将 mongodb 暴露在公共网络上的安全问题了。您的托管服务不愿意打开端口是有充分理由的。读这个。因为网络蠕虫

于 2020-07-08T11:35:19.200 回答