MongoDB SSL / TLS CA不受任何人信任

时间:2018-03-24 06:12:34

标签: mongodb ssl

我使用Let的加密来设置加密的Mongo。但是,除非我提供--CAFile--PEMKeyFile参数,否则我无法连接到数据库。我只是得到了一个神秘的错误。

[timestamp] DBClientCursor::init call() failed
[timestamp] Error: DBClientBase::findN: transport error: example.com:27017 ns: admin.$cmd query: { whatsmyuri: 1 } at src/mongo/shell/mongo.js:148
exception: connect failed

根据this issue on mongodb.org,该错误是由SSL配置引起的。

我使用了Let的加密,其根CA是ISRG Root X1。我通过查看“我的加密”页面验证了我有正确的.pem文件。基于Jira错误/神秘输出以及除非我向mongo shell提供CA和PemKey参数我无法访问服务器这一事实我很确定没有人信任SSL证书我&# 39;使用。

我用来获取证书的确切程序是here。唯一的区别是我创建了ca.pem文件,然后将chain.pem文件连接到其中。如果我以相反的方式做到了,正如教程所描述的那样,它总是无法通过OpenSSL验证命令。

1 个答案:

答案 0 :(得分:0)

经过几个小时的尝试,我发现了它:

默认情况下,MongoDB不像大多数Web服务器那样使用单向SSL。相反,它需要来自客户端和服务器的SSL证书。

有一个标志--allowConnectionsWithoutCertificates,会绕过这个。