Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过将所有选项放入node.js mongodb驱动程序的连接字符串中来连接X509?_Node.js_Mongodb_Connection String_X509_Adonis.js - Fatal编程技术网

如何通过将所有选项放入node.js mongodb驱动程序的连接字符串中来连接X509?

如何通过将所有选项放入node.js mongodb驱动程序的连接字符串中来连接X509?,node.js,mongodb,connection-string,x509,adonis.js,Node.js,Mongodb,Connection String,X509,Adonis.js,我正在使用中提供的钥匙 对于使用Node.js驱动程序的X509身份验证的自签名证书 尝试连接到数据库时,出现以下错误: MongoNetworkError:第一次连接时无法连接到服务器[pedro.com:57040][MongoNetworkError:无法验证第一个证书] 尽管有这个错误,我确信连接在我使用studio3t时可以正常工作,并且通过使用相同的证书,一切都可以正常运行 所以我的问题是。。。如何通过在连接字符串中写入所有选项,以编程方式使用x509证书连接到数据库?也许我给的钥匙

我正在使用中提供的钥匙 对于使用Node.js驱动程序的X509身份验证的自签名证书

尝试连接到数据库时,出现以下错误:

MongoNetworkError:第一次连接时无法连接到服务器[pedro.com:57040][MongoNetworkError:无法验证第一个证书]

尽管有这个错误,我确信连接在我使用studio3t时可以正常工作,并且通过使用相同的证书,一切都可以正常运行

所以我的问题是。。。如何通过在连接字符串中写入所有选项,以编程方式使用x509证书连接到数据库?也许我给的钥匙是错的?还是有些人失踪了

db: `mongodb://CN=pedro.com,OU=IT,O=Polygon,L=Setubal,ST=Setubal,C=PT@pedro.com:57040,pedro.com:57041
,pedro.com:57042/testBO?
ssl=true&authMechanism=MONGODB-X509
&sslPEMKeyFile=${fs.readFileSync(
        `${Helpers.appRoot(Env.get('DB_SSL_CERT'))}`
      )}
&sslCAFile=${fs.readFileSync(
        `${Helpers.appRoot(Env.get('DB_SSL_CA'))}`
      )}&replicaSet=testReplica`

您需要确保服务器和客户端都可以验证彼此的证书。这两种验证是独立的,使用不同的选项

服务器端请参阅,客户端请参阅。URI选项是跨驱动程序标准化的

另见


sslPEMKeyFile
是一个传统的节点驱动程序选项(假设它有效),tls*选项采用文件路径,而不是文件内容。

非常感谢。通过将所有内容切换到tls和其他一些小修补程序,它可以正常工作:)您可以发布关于“小修补程序”的解决方案吗