【发布时间】:2019-02-11 15:34:29
【问题描述】:
我一直在尝试将基于 React 的应用程序部署到 Azure,并使用 express 和 mongoose 将其连接到同一资源包中的 cosmosdb。当我在本地运行我的应用程序时连接到云 cosmosdb 时,它可以工作。当我从 azure web 应用程序连接到一个也可以工作的 mlab 数据库时。当我尝试从部署在 azure 上的 webapp 连接到 cosmosdb 时,连接超时。我无法获取 azure 资源进行交流!
我在我的数据库的预览设置中启用了 MongoDB 3.4 有线协议,但这并没有解决问题。 这是我的连接代码。
const mongoUri=mongodb://${process.env.dbName}.documents.azure.com:${process.env.cosmosPort}/?ssl/=true&sslverifycertificate=false`;
mongoose.connect(mongoUri,{ auth: { user: process.env.dbName, password:
process.env.key }, useNewUrlParser: true }).then(() =>
console.log('connection successful'))
.catch((err) => console.error(err));
我希望这会打开与 cosmosdb 的连接,但日志流显示 mongo 错误连接超时
【问题讨论】:
-
是的,向防火墙添加了规则,即使将其关闭,问题仍然存在。
-
您是否在使用应用服务的环境变量?可以
console.log(mongoUri);吗? -
是的,已经在应用程序设置中设置了变量,并将 mongo uri 输出到日志流
-
关闭防火墙后,您是否等了大约 10 分钟才重试?防火墙规则可能需要一些时间才能应用。此外,Cosmos DB Azure 门户中有一个特定的复选框来启用 Azure 数据中心(例如应用服务)。
标签: node.js reactjs azure azure-cosmosdb