Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

mongodump and mongorestore with SSL

Getting mongodump and mongorestore work with security quite troublesome.

I have mongod v3.4.1 with requireSSL running at 192.168.99.100. It is IP address of VirtualBox docker machine running on my Windows. It is just for testing of-cause.

The instance already configured to use TLS/SSL both server and client signed with the same CA. I use the IP address for mongod Common Name to allow hostname validation. The authentication already enabled to accept my client certificate.

So everything is working. I can connect to it like this:

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

but now I can't get both mongodump and mongorestore working:

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

Both return this error:

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

I have been trying to turn off client certificate, use username/password but still did not work. I need to remove the SSL in order to make it work.

That means I can only use preferSSL in production. There is no way to bypass SSL in localhost if I stick with requireSSL.

Anyone getting the same error? Is it a known issue?

like image 832
CallMeLaNN Avatar asked Jan 12 '17 21:01

CallMeLaNN


People also ask

What is Mongodump and Mongorestore?

Database backup is a copy of a database that already exists. In MongoDB, mongodump tool is used to take the data backup. And mongorestore tool is used to restore the backup data.

What is difference between Mongoimport and Mongorestore?

One main difference between mongorestore and mongoimport is that mongorestore is insert only. This means that it will not overwrite a document in the database that already exists: mongorestore can create a new database or add data to an existing database.

Does Mongodump include indexes?

Yes, mongodump does export the indexes created on the collection, and the indexes are restored with mongorestore along with the data. This is true with MongoDB v4. 2.

Does Mongorestore overwrite data?

However, mongorestore performs inserts only and does not perform updates. That is, if restoring documents to an existing database and collection and existing documents have the same value _id field as the to-be-restored documents, mongorestore will not overwrite those documents.


1 Answers

Add this option to the command-line:

--sslAllowInvalidHostnames

Full connection sample:

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

like image 180
Ostati Avatar answered Oct 16 '22 14:10

Ostati