使用SSL的mongodump和mongorestore

Cal*_*aNN 8 ssl mongodb mongodump

获得mongodumpmongorestore使用安全性非常麻烦.

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

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

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

mongo --ssl --host 192.168.99.100 --sslCAFile rootCA.pem --sslPEMKeyFile me.pem
Run Code Online (Sandbox Code Playgroud)

但现在我不能同时兼顾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
Run Code Online (Sandbox Code Playgroud)

两者都返回此错误:

2017-01-13T04:28:03.881+0800    Failed: error connecting to db server: no reachable servers, openssl error: Host validation error
Run Code Online (Sandbox Code Playgroud)

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

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

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

Ost*_*ati 5

将此选项添加到命令行:

--sslAllowInvalidHostnames

全连接示例:

mongo --host 192.168.99.100 --username luke --password skywalker --authenticationDatabase admin --ssl --sslCAFile rootCA.pem --sslPEMKeyFile me.pem --sslAllowInvalidHostnames


小智 1

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

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

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

快乐编码