尝试将 NodeJS 中的 1 个 openshift 应用程序与另一个 openshift 应用程序的 MySQL 连接时出现错误 EHOSTUNREACH

I get an error EHOSTUNREACH when trying to connect 1 openshift application in NodeJS with MySQL of another openshift application

我在 OpenShift 上有 2 个应用程序:1 个带有 MySQL,1 个带有 NodeJS,它将连接到另一个应用程序的 MySQL。

我看过示例,但其中 none 似乎有效,这些是我正在采取的步骤:

rhc ssh -a mydbappname

然后我得到环境变量 环境 | grep MYSQL

我得到类似的东西:

OPENSHIFT_MYSQL_DB_HOST=127.XX.XXX.X

OPENSHIFT_MYSQL_DB_PORT=3306

之后我尝试在其他应用程序上使用它们,但它总是抛出 EHOSTUNREACH,无论我是在 Node 应用程序上创建 OPENSHIFT_MYSQL_DB env 变量并使用它们,还是直接放置它在代码上。

我在其他部分看到 OPENSHIFT_MYSQL_DB_HOST 类似于 54d10be2503e36378e0002db-mydbappname.apps.rhcloud.com.

如果我使用端口转发并使用 127.0.0.1 和为 mysql 选择的本地端口,并在本地启动 NodeJS 应用程序它会工作,只有当我将更改上传到 Openshift 时它才会失败

本文中:
https://blog.openshift.com/sharing-database-across-applications/
您可以阅读:
"第 1 步:
使用数据库创建应用程序
我们将使用 MySQL 数据库盒创建一个可扩展的 PHP 应用程序。在不可扩展的应用程序中,数据库将安装在与应用程序相同的设备中。在这种情况下,我们希望可以从其他设备访问数据库。因此,创建可扩展的应用程序可确保数据库以其自己的方式运行,并可从其他方式访问。"

所以这可能是问题所在,请检查您创建的此应用程序是否可扩展。