使用SSL的mongodump和mongorestore

时间:2017-01-12 21:44:50

标签: mongodb ssl mongodump

mongodumpmongorestore使用安全性非常麻烦。

我有mongod v3.4.1,requireSSL192.168.99.100运行。它是在我的Windows上运行的VirtualBox docker机器的IP地址。它仅用于测试原因。

实例已配置为使用TLS / SSL服务器和客户端使用相同的CA签名。我使用mongod Common Name的IP地址来允许主机名验证。身份验证已启用以接受我的客户端证书。

所以一切正常。我可以像这样连接到它:

mongo --ssl --host 192.168.99.100 --sslCAFile rootCA.pem --sslPEMKeyFile me.pem

但现在我无法让mongodumpmongorestore同时工作:

mongodump --ssl --host 192.168.99.100 --sslCAFile rootCA.pem --sslPEMKeyFile me.pem -d olddb
mongorestore --ssl --host 192.168.99.100 --sslCAFile rootCA.pem --sslPEMKeyFile me.pem -d newdb --dir=dump/olddb

两者都返回此错误:

2017-01-13T04:28:03.881+0800    Failed: error connecting to db server: no reachable servers, openssl error: Host validation error

我一直在尝试关闭客户端证书,使用用户名/密码但仍无效。我需要删除SSL才能使其正常工作。

这意味着我只能在生产中使用preferSSL 如果我坚持使用requireSSL,则无法在localhost中绕过SSL。

有人得到同样的错误吗?这是一个众所周知的问题吗?

2 个答案:

答案 0 :(得分:0)

首先检查路径/var/log/mongodb/mongod.log

中的日志

还有SSL证书的默认路径。对于基于unix的系统,给出位于/etc/ssl/mongodb.pem的SSL证书

根据我对此问题的理解,我会说需要检查证书路径。 SSL证书不在您的Windows环境中。尝试添加证书的完整路径。 另请查看此https://docs.mongodb.com/manual/tutorial/configure-ssl-clients/

快乐编码

答案 1 :(得分:0)

将此选项添加到命令行:

  

-sslAllowInvalidHostnames

完整连接示例:

  

mongo --host 192.168.99.100 --username luke   --password skywalker --authentication数据库管理员--ssl --sslCAFile rootCA.pem --sslPEMKeyFile me.pem --sslAllowInvalidHostnames