Dumping mongodb error: error dialing cluster0-shard-00-00.fklgt.mongodb.net:27017: SSL errors: SSL routines:ssl3_get_server_certificate:certificate
Dumping mongodb error: error dialing cluster0-shard-00-00.fklgt.mongodb.net:27017: SSL errors: SSL routines:ssl3_get_server_certificate:certificate
我通常使用此命令转储我的 mongodb 数据库,它运行良好:
mongodump --uri mongodb+srv://name:password@cluster0.fklgt.mongodb.net/database_name --archive="dump-copy-name" --forceTableScan
但是,我一直在尝试转储不同的数据库,但它一直在记录:
2021-06-21T18:43:39.206+0100 error dialing
cluster0-shard-00-00.fklgt.mongodb.net:27017: SSL errors: SSL
routines:ssl3_get_server_certificate:certificate verify failed
知道发生了什么事吗?
mongodump 工具并不隐式信任您的系统证书库。您需要将根 CA 证书传递给它,以便它可以验证集群的证书。
要找出哪个证书是根证书,请使用 openssl:
openssl s_client -connect cluster0-shard-00-00.fklgt.mongodb.net:27017
输出应包含一个 certificate chain
部分,例如:
---
Certificate chain
0 s:/C=US/ST=New York/L=New York/O=MongoDB, Inc./CN=*.mongodb.com
i:/C=US/O=DigiCert Inc/CN=DigiCert SHA2 Secure Server CA
1 s:/C=US/O=DigiCert Inc/CN=DigiCert SHA2 Secure Server CA
i:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert Global Root CA
---
(这是一个示例,请使用您的集群进行测试以获取真实证书)
链中编号最高的证书应该是根证书。一旦你有了它,google 用于 CN
部分(在我的例子中是“DigiCert SHA2 Secure Server CA”),你应该找到一个 link 来下载证书。
根应该是此处列出的两个之一:https://docs.atlas.mongodb.com/reference/faq/security/#hard-coded-certificate-authority
获得 .pem 格式的根证书后,使用命令行选项 --sslCAFile=<filename>
将其传递给 mongodump。
我通常使用此命令转储我的 mongodb 数据库,它运行良好:
mongodump --uri mongodb+srv://name:password@cluster0.fklgt.mongodb.net/database_name --archive="dump-copy-name" --forceTableScan
但是,我一直在尝试转储不同的数据库,但它一直在记录:
2021-06-21T18:43:39.206+0100 error dialing cluster0-shard-00-00.fklgt.mongodb.net:27017: SSL errors: SSL routines:ssl3_get_server_certificate:certificate verify failed
知道发生了什么事吗?
mongodump 工具并不隐式信任您的系统证书库。您需要将根 CA 证书传递给它,以便它可以验证集群的证书。
要找出哪个证书是根证书,请使用 openssl:
openssl s_client -connect cluster0-shard-00-00.fklgt.mongodb.net:27017
输出应包含一个 certificate chain
部分,例如:
---
Certificate chain
0 s:/C=US/ST=New York/L=New York/O=MongoDB, Inc./CN=*.mongodb.com
i:/C=US/O=DigiCert Inc/CN=DigiCert SHA2 Secure Server CA
1 s:/C=US/O=DigiCert Inc/CN=DigiCert SHA2 Secure Server CA
i:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert Global Root CA
---
(这是一个示例,请使用您的集群进行测试以获取真实证书)
链中编号最高的证书应该是根证书。一旦你有了它,google 用于 CN
部分(在我的例子中是“DigiCert SHA2 Secure Server CA”),你应该找到一个 link 来下载证书。
根应该是此处列出的两个之一:https://docs.atlas.mongodb.com/reference/faq/security/#hard-coded-certificate-authority
获得 .pem 格式的根证书后,使用命令行选项 --sslCAFile=<filename>
将其传递给 mongodump。