【发布时间】:2021-05-14 07:56:04
【问题描述】:
我在我的 linux 机器上创建了自签名证书,我在其中提供了与该 linux 的 IP 相同的证书 CN 我已将它们添加到 mongodb.conf 并重新启动服务器 我可以通过命令连接
mongo --ssl --sslPEMKeyFile /etc/ssl/mongodbcerts/mongodb.pem --sslCAFile /etc/ssl/mongodbcerts/ca.pem
但是当我尝试从 nodeJS mongoose 连接时,我遇到了类似的错误
MongooseServerSelectionError: Hostname/IP does not match certificate's altnames: IP: XXX.xx.x.xx is not in the cert's list:
我的连接mongodb的nodejs代码如下
const connectionOptions = { useCreateIndex: true,
useNewUrlParser: true,
useUnifiedTopology: true,
useFindAndModify: false ,
server:{
ssl: true,
sslValidate:true,
sslCA: require('fs').readFileSync("/etc/ssl/mongodbcerts/ca.pem"),
sslKey:require('fs').readFileSync("/etc/ssl/mongodbcerts/mongodb.key"),
sslCert:require('fs').readFileSync("/etc/ssl/mongodbcerts/mongodb.crt")
}
};
let mongo_url="mongodb://username:password@IPaddress/DB"
console.log(mongo_url)
mongoose.connect(mongo_url,connectionOptions).then(() => console.log( 'Database Connected' ))
.catch(err => console.log( err ));;
请告诉我错误
【问题讨论】:
标签: node.js mongodb mongoose openssl ssl-certificate