Следуя инструкциям, изложенным в SSL-шифрование MongoDB и драйвер Spring, У меня 2.1.0, и после сборки он говорит, что не распознает sslOnNormalPorts, sslPEMKeyFile или sslPEMKeyPassword.
Но я увидел --keyFile и использовал его (мне пришлось вырезать начальные и конечные ----- BEGIN RSA PRIVATE KEY ---- и ----- END RSA PRIVATE KEY ---- и завершающий '==' ключа в кодировке Base64).
Теперь, если я запускаю оболочку mongo, все мои команды работают нормально (показать dbs, использовать xyz, db.abc.find () и т. Д.)
Если я попытаюсь указать хост и порт, я получу:
mongo --host 192.168.1.100 --port 27017 MongoDB shell version: 2.1.0 connecting to: 192.168.1.100:27017/test
show dbs Mon Apr 30 21:37:37 uncaught exception: listDatabases failed:{ "errmsg" : "need to login", "ok" : 0 }
Если я добавлю флаг --ssl для запуска оболочки mongo, она просто зависнет. Пока mongod выплевывает:
Mon Apr 30 21:40:53 [initandlisten] options: { keyFile: "/Users/tshrestha/Downloads/key.pem" }
Mon Apr 30 21:40:53 [initandlisten] journal dir=/data/db/journal
Mon Apr 30 21:40:53 [initandlisten] recover : no journal files present, no recovery needed
Mon Apr 30 21:40:53 [websvr] admin web console waiting for connections on port 28017
Mon Apr 30 21:40:53 [initandlisten] waiting for connections on port 27017
Mon Apr 30 21:41:16 [initandlisten] connection accepted from 192.168.1.102:64413 #1 (1 connection now open)
Mon Apr 30 21:41:53 [clientcursormon] mem (MB) res:14 virt:2419 mapped:0
Я использую Mac OSX 10.7
Параметр keyfile предназначен для аутентификации между экземплярами mongod, а не SSL - он обрабатывает ваш урезанный ключ SSL как просто строку символов. У вас есть действительно длинный пароль, не более того. См. Здесь для получения дополнительной информации:
http://www.mongodb.org/display/DOCS/Security+and+Authentication
Вам не хватает части, где вам нужно перекомпилировать, используя scons с флагом ssl. Перечитайте эту страницу:
http://www.mongodb.org/display/DOCS/Building+for+OS+X
Вам нужно следовать инструкциям там, пока не дойдете до той части, где написано следующее:
scons all
Для сборки с поддержкой SSL вам нужно будет использовать:
scons --ssl all
После завершения сборки mongod распознает ваши параметры, связанные с SSL. Примечание. Я делал это в Mac OS X много раз без проблем.