簡體   English   中英

轉儲 mongodb 錯誤:錯誤撥號 cluster0-shard-00-00.fklgt.mongodb.net:27017:SSL 錯誤:SSL 例程: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 錯誤撥號 cluster0-shard-00-00.fklgt.mongodb.net:27017:SSL 錯誤:SSL 例程:ssl3_get_server_certificate:證書驗證失敗

知道發生了什么嗎?

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
---

(這是一個例子,用你的集群測試以獲得真正的證書)

鏈中編號最高的證書應該是根證書。 一旦你有了它,谷歌搜索CN部分(在我的例子中是“DigiCert SHA2 Secure Server CA”),你應該找到一個下載證書的鏈接。

根應該是此處列出的兩個之一: https : //docs.atlas.mongodb.com/reference/faq/security/#hard-coded-certificate-authority

獲得 .pem 格式的根證書后,使用命令行選項--sslCAFile=<filename>將其傳遞給 mongodump。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM