我正在尝试在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证书吗?