Ошибка аутентификации Mongo при подключении к MMS ReplicaSet

Я развернул и управлял экземплярами MongoDB на сервере, используя MongoDB Management Service (MMS), и развернул набор реплик. Я также убедился, что добавил пользователя с необходимыми разрешениями на вкладке "Авторизация и пользователи", как показано на рисунке ниже.

Авторизация и пользователи

Когда я захожу на свой сервер и запускаю команду, чтобы проверить, были ли добавлены пользователи, это показывает, что они были аутентифицированы, потому что он возвращает 1.

$ use admin
$ db.auth('mbdb', 'xxxx')
$ 1

У меня есть приложение узла, которое подключается к mongodb с помощью mongoose, и это формат URL, который я использую для подключения:

'url' : 'mongodb://mbdb:xxxx@localhost:27000/dbprod?replicaSet=ProdSet'

Проблема, с которой я сталкиваюсь, заключается в том, что, когда я запускаю приложение Node, я получаю эту ошибку:

> mobile-bulletin-node@0.0.1 start /var/TeamCity/buildAgent/work/d81f9c89b9a85a90
> node ./bin/www

{ [Error: Cannot find module '../build/Release/bson'] code: 'MODULE_NOT_FOUND' }
js-bson: Failed to load c++ bson extension, using pure JS version

/var/TeamCity/buildAgent/work/d81f9c89b9a85a90/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/base.js:246
    throw message;      
          ^
MongoError: auth failed
at Object.toError (/var/TeamCity/buildAgent/work/d81f9c89b9a85a90/node_modules/mongoose/node_modules/mongodb/lib/mongodb/utils.js:114:11)
at /var/TeamCity/buildAgent/work/d81f9c89b9a85a90/node_modules/mongoose/node_modules/mongodb/lib/mongodb/db.js:1156:31
at /var/TeamCity/buildAgent/work/d81f9c89b9a85a90/node_modules/mongoose/node_modules/mongodb/lib/mongodb/db.js:1890:9
at Server.Base._callHandler (/var/TeamCity/buildAgent/work/d81f9c89b9a85a90/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/base.js:448:41)
at /var/TeamCity/buildAgent/work/d81f9c89b9a85a90/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/server.js:481:18
at MongoReply.parseBody (/var/TeamCity/buildAgent/work/d81f9c89b9a85a90/node_modules/mongoose/node_modules/mongodb/lib/mongodb/responses/mongo_reply.js:68:5)
at null.<anonymous> (/var/TeamCity/buildAgent/work/d81f9c89b9a85a90/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/server.js:439:20)
at emit (events.js:95:17)
at null.<anonymous> (/var/TeamCity/buildAgent/work/d81f9c89b9a85a90/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/connection_pool.js:201:13)
at emit (events.js:98:17)

Я также приложил свои запрошенные журналы с сервера, полученного из MMS. Я вижу ошибку аутентификации, но все изменения, которые я делаю, похоже, не меняют эту ошибку.

2015-03-11T04:04:00.183-0500 I NETWORK  [initandlisten] connection accepted from 159.8.163.164:42476 #6051 (6 connections now open)
2015-03-11T04:04:00.194-0500 I ACCESS   [conn6051] Successfully authenticated as principal mms-automation on admin
2015-03-11T04:04:00.697-0500 I NETWORK  [conn6049] end connection 159.8.163.164:42462 (5 connections now open)
2015-03-11T04:04:00.697-0500 I NETWORK  [initandlisten] connection accepted from 159.8.163.164:42477 #6052 (6 connections now open)
2015-03-11T04:04:00.707-0500 I ACCESS   [conn6052] Successfully authenticated as principal __system on local
2015-03-11T04:04:03.158-0500 I ACCESS   [conn19] Successfully authenticated as principal mms-monitoring-agent on admin
2015-03-11T04:04:04.695-0500 I NETWORK  [conn6050] end connection 159.8.163.164:42468 (5 connections now open)
2015-03-11T04:04:04.695-0500 I NETWORK  [initandlisten] connection accepted from 159.8.163.164:42486 #6053 (6 connections now open)
2015-03-11T04:04:04.705-0500 I ACCESS   [conn6053] Successfully authenticated as principal __system on local
2015-03-11T04:04:05.184-0500 I NETWORK  [initandlisten] connection accepted from 159.8.163.164:42487 #6054 (7 connections now open)
2015-03-11T04:04:25.811-0500 I NETWORK  [initandlisten] connection accepted from 127.0.0.1:49873 #6055 (8 connections now open)
2015-03-11T04:04:25.811-0500 I NETWORK  [initandlisten] connection accepted from 127.0.0.1:49874 #6056 (9 connections now open)
2015-03-11T04:04:25.812-0500 I NETWORK  [initandlisten] connection accepted from 127.0.0.1:49875 #6057 (10 connections now open)
2015-03-11T04:04:25.812-0500 I NETWORK  [initandlisten] connection accepted from 127.0.0.1:49876 #6058 (11 connections now open)
2015-03-11T04:04:25.812-0500 I NETWORK  [initandlisten] connection accepted from 127.0.0.1:49877 #6059 (12 connections now open)
2015-03-11T04:04:25.818-0500 I ACCESS   [conn6055]  authenticate db: dbprod { authenticate: 1, user: "mbdb", nonce: "xxx", key: "xxx" }
2015-03-11T04:04:25.818-0500 I ACCESS   [conn6056]  authenticate db: dbprod { authenticate: 1, user: "mbdb", nonce: "xxx", key: "xxx" }
2015-03-11T04:04:25.819-0500 I ACCESS   [conn6055] Failed to authenticate mbdb@dbprod with mechanism MONGODB-CR: AuthenticationFailed MONGODB-CR credentials missing in the user document
2015-03-11T04:04:25.819-0500 I ACCESS   [conn6057]  authenticate db: dbprod { authenticate: 1, user: "mbdb", nonce: "xxx", key: "xxx" }
2015-03-11T04:04:25.819-0500 I ACCESS   [conn6058]  authenticate db: dbprod { authenticate: 1, user: "mbdb", nonce: "xxx", key: "xxx" }
2015-03-11T04:04:25.819-0500 I ACCESS   [conn6056] Failed to authenticate mbdb@dbprod with mechanism MONGODB-CR: AuthenticationFailed MONGODB-CR credentials missing in the user document
2015-03-11T04:04:25.819-0500 I ACCESS   [conn6059]  authenticate db: dbprod { authenticate: 1, user: "mbdb", nonce: "xxx", key: "xxx" }
2015-03-11T04:04:25.819-0500 I ACCESS   [conn6057] Failed to authenticate mbdb@dbprod with mechanism MONGODB-CR: AuthenticationFailed MONGODB-CR credentials missing in the user document
2015-03-11T04:04:25.819-0500 I ACCESS   [conn6058] Failed to authenticate mbdb@dbprod with mechanism MONGODB-CR: AuthenticationFailed MONGODB-CR credentials missing in the user document
2015-03-11T04:04:25.819-0500 I ACCESS   [conn6059] Failed to authenticate mbdb@dbprod with mechanism MONGODB-CR: AuthenticationFailed MONGODB-CR credentials missing in the user document
2015-03-11T04:04:25.823-0500 I NETWORK  [conn6059] end connection 127.0.0.1:49877 (11 connections now open)
2015-03-11T04:04:25.823-0500 I NETWORK  [conn6058] end connection 127.0.0.1:49876 (11 connections now open)
2015-03-11T04:04:25.823-0500 I NETWORK  [conn6056] end connection 127.0.0.1:49874 (11 connections now open)
2015-03-11T04:04:25.823-0500 I NETWORK  [conn6057] end connection 127.0.0.1:49875 (11 connections now open)
2015-03-11T04:04:25.823-0500 I NETWORK  [conn6055] end connection 127.0.0.1:49873 (7 connections now open)
2015-03-11T04:04:30.710-0500 I NETWORK  [conn6052] end connection 159.8.163.164:42477 (6 connections now open)
2015-03-11T04:04:30.710-0500 I NETWORK  [initandlisten] connection accepted from 159.8.163.164:42495 #6060 (7 connections now open)
2015-03-11T04:04:30.720-0500 I ACCESS   [conn6060] Successfully authenticated as principal __system on local
2015-03-11T04:04:34.707-0500 I NETWORK  [conn6053] end connection 159.8.163.164:42486 (6 connections now open)
2015-03-11T04:04:34.707-0500 I NETWORK  [initandlisten] connection accepted from 159.8.163.164:42501 #6061 (7 connections now open)
2015-03-11T04:04:34.717-0500 I ACCESS   [conn6061] Successfully authenticated as principal __system on local
2015-03-11T04:04:54.412-0500 I ACCESS   [conn19] Successfully authenticated as principal mms-monitoring-agent on admin
2015-03-11T04:04:54.414-0500 I QUERY    [conn19] assertion 13 not authorized for query on local.oplog.rs ns:local.oplog.rs query:{ $query: {}, $orderby: { $natural: 1 } }
2015-03-11T04:04:54.414-0500 I QUERY    [conn19]  ntoskip:0 ntoreturn:-1
2015-03-11T04:04:54.414-0500 I QUERY    [conn19] assertion 13 not authorized for query on local.oplog.rs ns:local.oplog.rs query:{ $query: {}, $orderby: { $natural: -1 } }
2015-03-11T04:04:54.414-0500 I QUERY    [conn19]  ntoskip:0 ntoreturn:-1
2015-03-11T04:05:00.724-0500 I NETWORK  [conn6060] end connection 159.8.163.164:42495 (6 connections now open)
2015-03-11T04:05:00.724-0500 I NETWORK  [initandlisten] connection accepted from 159.8.163.164:42512 #6062 (7 connections now open)
2015-03-11T04:05:00.734-0500 I ACCESS   [conn6062] Successfully authenticated as principal __system on local
2015-03-11T04:05:04.718-0500 I NETWORK  [conn6061] end connection 159.8.163.164:42501 (6 connections now open)
2015-03-11T04:05:04.718-0500 I NETWORK  [initandlisten] connection accepted from 159.8.163.164:42517 #6063 (7 connections now open)
2015-03-11T04:05:04.728-0500 I ACCESS   [conn6063] Successfully authenticated as principal __system on local

Я развернул и подключился к базе данных mongodb с экземпляром, которым управлял сам, без mms, поэтому у меня возникло ощущение, что я пропустил или упустил возможность подключиться к экземпляру mongodb, управляемому mms.

Мой агент автоматизации, агент резервного копирования и агент мониторинга тоже исправны.

1 ответ

Решение

Хорошо, так что я наконец заработал, почти выдернув мои волосы. Первым делом я убедился, что все мои модули узлов были обновлены, запустив

$ npm update
$ npm install

Как только это было завершено, я изменил свой URL-адрес подключения, чтобы включить URL-адреса для других моих экземпляров Монго в наборе реплик. Я сделал это, потому что согласно документации mongodb нужно указать другие узлы, чтобы подключиться к набору реплик, иначе будет создан отдельный экземпляр.

Чтобы завершить строку URI, я добавил фактическую базу данных аутентификации, в которой хранятся мои учетные данные. Итак, в конце концов, мое соединение выглядит так:

'url' : 'mongodb://mbdb:xxxx@localhost:27000,localhost:27001,localhost:27002/dbprod?replicaSet=ProdSet&authSource=admin'
Другие вопросы по тегам