栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

将Heroku App连接到Atlas MongoDB Cloud服务

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

将Heroku App连接到Atlas MongoDB Cloud服务

我认为可能会解决您的问题

免责声明: 我没有使用Heroku或MongoDB Atlas,但是我正在研究它们。

根据我发现的Github问题,如果未在MongoDBAtlas中将服务器IP地址列入白名单,则会收到该错误消息。

阅读MongoDB Atlas文档时,我看到将其与Herokudynos结合使用的唯一方法是将

0.0.0.0/0
(即所有地址)添加到MongoDBAtlas白名单中。

尝试一下,请报告是否可以实例化连接。

在SSL上

尝试回答SSL问题,尽管我不太确定,但您不需要根据我所读的内容在Heroku上启用它。

如果MongoDB服务器执行证书验证,则用于连接到它的Node.js代码必须类似于以下内容(摘自Node.js驱动程序文档):

var MongoClient = require('mongodb').MongoClient,  f = require('util').format,  fs = require('fs');// Read the certificatesvar ca = [fs.readFileSync(__dirname + "/ssl/ca.pem")];var cert = fs.readFileSync(__dirname + "/ssl/client.pem");var key = fs.readFileSync(__dirname + "/ssl/client.pem");// Connect validating the returned certificates from the serverMongoClient.connect("mongodb://localhost:27017/test?ssl=true", {  server: {      sslValidate:true    , sslCA:ca    , sslKey:key    , sslCert:cert    , sslPass:'10gen'  }}, function(err, db) {  db.close();});

如果MongoDB服务器未检查任何SSL证书,则可以简单地使用如下代码(也来自Node.js驱动程序文档):

var MongoClient = require('mongodb').MongoClient;MongoClient.connect("mongodb://localhost:27017/test?ssl=true", function(err, db) {  db.close();});

鉴于阿特拉斯文档包含了连接到它从Node.js的下面的示例代码,我认为你 不是 要在Heroku上启用SSL:

var MongoClient = require('mongodb').MongoClient;var uri = "mongodb://kay:myRealPassword@mycluster0-shard-00-00-wpeiv.mongodb.net:27017,mycluster0-shard-00-01-wpeiv.mongodb.net:27017,mycluster0-shard-00-02-wpeiv.mongodb.net:27017/admin?ssl=true&replicaSet=Mycluster0-shard-0&authSource=admin";MongoClient.connect(uri, function(err, db) {  db.close();});



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/391087.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号