gpt4 book ai didi

node.js - MongoDB - SSL 连接问题

转载 作者:太空宇宙 更新时间:2023-11-03 14:39:13 24 4
gpt4 key购买 nike

操作系统版本 - ubuntu 12.04
MongoDB 版本 - 3.2.5
Mongoose 版本 - 4.10.8
生成SSL证书的步骤:
1. openssl req -newkey rsa:2048 -new -x509 -days 3650 -nodes -out mongodb-cert.crt -keyout mongodb-cert.key
2.猫mongodb-cert.key mongodb-cert.crt > mongodb.pem

启动mongo服务器
mongo.conf

net:  
port: 10023
bindIp: 10.x.x.x
ssl:
mode: allowSSL
PEMKeyFile: /etc/ssl/mongodb.pem
CAFile: /etc/ssl/mongodb-cert.crt

当我通过 mongo 客户端连接时,这工作正常。
mongo --ssl --host 10.x.x.x --port 10023 --sslCAFile mongodb-cert.crt --sslPEMKeyFile mongodb.pem

但是它会抛出 mongoose 的错误

    var mongoose = require('mongoose');   
var fs = require('fs');
var ca = fs.readFileSync("./mongodb-cert.crt");
var key = fs.readFileSync("./mongodb.pem");
var cert = fs.readFileSync("./mongodb-cert.crt");
mongoose.connect('mongodb://10.x.x.x:10023' + '/' + 'DBName' + '?ssl=true',
{
server: {
sslValidate: true,
sslCa: ca,
sslKey: key,
sslCert: cert
}
}
);

{ 名称:'MongoError',消息:'自签名证书'}

最佳答案

我猜你已经使用了 https://docs.mongodb.com/manual/tutorial/configure-x509-client-authentication 中的程序- 我最好的猜测是您在使用自签名证书时不应指定 sslCA 参数。

sslCA 仅当您指的是颁发 sslCert 中指定证书的证书颁发机构时才应使用。

关于node.js - MongoDB - SSL 连接问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44697625/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com