mongoose mongodb副本集成员的不同SSL密钥

ovfsdjhp  于 2023-04-12  发布在  Go
关注(0)|答案(1)|浏览(109)

我有3个AWS EC2示例。2个用于mongodb副本,1个作为我的服务器。我已经按照this article设置了我的副本集,但没有关于如何使用mongoose连接我的nodejs服务器的信息。
我搜索了一下,结果是这个

mongoose.connect('mongodb://replica1.example.com:27017,replica2.example.com:27017,replica3.example.com:27017/mydatabase?ssl=true', {
  sslValidate: true,
  sslCA: fs.readFileSync('/path/to/ca.pem'),
  sslKey: fs.readFileSync('/path/to/client.pem'),
  sslCert: fs.readFileSync('/path/to/client.pem')
});

根据本文,我的副本成员主机1和副本成员主机2具有不同的sslKey和Cert
我无法连接到数据库,因为它给了这个作为错误
无法连接到数据库:MongoNetworkError:第一次连接时无法连接到服务器[replica2.example.com:27017][错误:getaddrinfo ENOTFOUND replica2.example.com*
我相信这是因为我没有为第二个成员指定ssl密钥。但是我怎么能这样做呢?

u0njafvf

u0njafvf1#

我没有像在复制副本成员EC2示例中那样在/etc/hosts路径中指定主机名,如下所示

35.xxx.111.yyy          host1.mongo.replset
yy.231.xxx.182          host2.mongo.replset
3.xxx.250.yy            host2.mongo.replset

由于服务器示例中未定义主机名和相应的IP,因此无法找到地址

相关问题