mongodb-charts ssl数据源PRIVATE KEY错误

mongodb-charts ssl data source PRIVATE KEY error

我正在尝试从本地 MongoDB-charts 部署连接到受 SSL 保护的 Mongo 数据库实例 运行 服务。我得到了一个本地 Mongo 运行 作为元数据数据库,并且 MongoDB-charts 运行 从本地容器按照以下说明获得:

https://docs.mongodb.com/charts/19.12/installation/

但是当我想连接到 Mongo 数据库实例 运行 服务并使用证书通过 SSL 保护时,我收到以下错误:

我已将证书复制到容器中。我知道它正在被拾取,因为如果我重命名文件名,MongoDB-charts 会抱怨证书文件不存在。

我可以使用相同的凭据和证书从 Mongo shell 和 MongoDB-compass 连接到 MongoDB 服务,因此,该信息是正确的。我想一定是容器上少了什么东西,但我找不到解决办法。

¿任何提示?

Charts 使用 Go 驱动程序 - 您可以在 https://github.com/mongodb/mongo-go-driver/blob/master/mongo/options/clientoptions.go.

查看产生该错误的代码

由于您使用的是 SSL 客户端证书,因此需要在 PEM 文件中找到私钥。你有吗? PEM 文件可能仅包含一个 public 密钥,或一个 public 密钥 + 一个私钥。该错误表明您的文件仅包含 public 键。

汤姆

我在公司内部论坛上得到了解决方案。

我有那个错误...

"Because it’s a CA file, not a Key file - with the option you’re selecting, it’s looking for a certificate and a key"

解决方案:在 Mongo URI 中使用 tlsCAFile 而不是 sslclientcertificatekeyfile
示例:

mongodb://user:password@host0,host2/dbname?authSource=admin&replicaSet=replset&ssl=true&sslclientcertificatekeyfile=/mongodb-charts/volumes/db-certs/cert.pem