首页 > 解决方案 > 如何从通配符域证书为 mongodb 创建“certificateKeyFile”?

问题描述

我试图建立与 mongodb 服务器的安全连接。

为了使事情正常工作,我需要提供certificateKeyFilemongod.conf配置文件。

我知道我需要连接一些文件来获取certificateKeyFile. 但哪些?

我得到的文件(通配符域证书):

我已经mongod.conf根据文档进行了设置

net:
  port: 27017
  bindIp: 127.0.0.1, 42.42.42.42
  tls:
    mode: requireTLS
    certificateKeyFile: /etc/mongodb.pem

当我尝试连接到数据库时,我已经连接domainCertificate.crtprivate.key获取:mongodb.pem

mongo 42.42.42.42 --tls --tlsCAFile ./authorityCertificates.ca-bundle

我明白了:

SL peer certificate validation failed:
unable to get issuer certificate

我的基本理解是,当客户端连接到MongoDB服务器时,它会显示由权威证书签名的域证书。之后,客户端获取授权证书并验证域证书的有效性。如果验证了域证书,则服务器和客户端建立安全连接。

我错过了什么?

标签: mongodbssl

解决方案


是的,我已经成功了。

  • 将 mongodb.mydomain.com的 DNS A 记录指向42.42.42.42
  • 创建mongodb.pem文件并将其上传到 mongodb 服务器
cat ./authorityCertificates.ca-bundle ./domainCertificate.crt > ./chained.pem
cat ./chained.pem ./private.key > mongodb.pem
  • 成功连接到远程机器上的mongodb
mongo mongodb.mydomain.com --tls

推荐阅读