SSL对等证书验证失败:无法在Linux服务器上的MongoDB中获取本地颁发者证书

时间:2019-04-08 19:14:15

标签: mongodb

我正在尝试在MongoDB中配置SSL证书。为此,我使用freenom(online)获取了示例域名,例如myapptest.tk,并使用sslforfree(online)为该域名生成了证书。在/ etc / hosts文件中将该域名分配给我的MongoDB服务器IP。之后,下载这些证书并将其配置在/etc/mongod.conf文件中。

这是我在mongod.conf中使用的SSL配置

net:
  port: 27017
  bindIp: 0.0.0.0  # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 
 addresses or, alternatively, use the net.bindIpAll setting.
  ssl:
    mode: requireSSL
    PEMKeyFile: /etc/ssl/mongodb.pem
    CAFile: /etc/ssl/ca_bundle.crt
    allowConnectionsWithoutCertificates: false
    allowInvalidHostnames: false
    disabledProtocols: TLS1_0,TLS1_1

在这里,我将把certificate.crt和private.key转换为mongodb.pem并作为PEMKeyFile的值传递,并将ca_bundle.crt作为CAFile的值传递。最终使用命令重新启动mongod服务

sudo service mongod restart

MongoDB服务器成功运行。现在,我正在尝试通过命令连接MongoDB服务器

mongo --ssl --sslPEMKeyFile /etc/ssl/mongodb.pem --sslCAFile /etc/ssl/ca_bundle.crt --host myapptest.tk

我无法连接到服务器。得到类似

的错误
  

MongoDB Shell版本v4.0.8

     

连接到:mongodb://myapptest.tk:27017 /?gssapiServiceName = mongodb

     

2019-04-04T19:57:40.401 + 0000 E NETWORK [js] SSL对等证书验证失败:无法获取本地颁发者证书

     

2019-04-04T19:57:40.402 + 0000 E查询[js]错误:无法连接到服务器myapptest.tk:27017,连接尝试失败:SSLHandshakeFailed:SSL对等证书验证失败:无法获取本地发行者证书:

     

connect@src/mongo/shell/mongo.js:343:13

     

@(connect):2:6

     

例外:连接失败

如何使用--sslCAFile连接MongoDB服务器?

如何在MongoDB中以* .pem格式生成--sslPEMKeyfile和--sslCAFile?

下面是我关注的链接: https://docs.mongodb.com/manual/tutorial/configure-ssl/  而我用来创建.pem格式的SSL证书的链接是https://zappysys.com/blog/configure-mongodb-ssl-connection-certificate/

有人可以建议我在MongoDB中生成和配置SSL证书吗?

0 个答案:

没有答案