2016-07-07 13 views
1

So haben wir ein interessantes Problem. Wir wollten die Authentifizierung auf der MongoDB-Ebene für mehr Sicherheit hinzufügen. Aber wir bekommen kein günstiges Ergebnis.Mongoose mit Authentifizierung verursacht Timeout

Vorrüstbereich

  1. Verwenden mongo Schale (gegen Admin Tabelle) als root
  2. Umschalten auf gewünschte Datenbank (applicationdb)
  3. db.createUser Execute()
  4. Validate user wurde erfolgreich erstellt

    { "_id": "applicationdb.appuser", "user": "appuser", "db": "applicationdb", "Rollen": [ { "Rolle": "readwrite", "db": "applicationdb" } ] }

Szenario 1:

  1. ändern mongodb.conf, auth = true
  2. Starten Sie den Mongod Service
  3. Connect Mungo mit:

    mongoose.connect ('mongodb: // appuser: [email protected]: 27017/applicationdb');

  4. keine Fehler für den Anschluss empfangen werden, so versuchen, eine GET auszuführen durch Mongoose den Betrieb führt ohne Fehler Timeout (zumindest, dass ich finden konnte)

Szenario 2:

  1. ändern mongodb.conf, auth = false
  2. Starten Sie den Mongod Service
  3. Verbinden Sie den Mungo mit:

    mongoose.connect ('mongodb: //xx.xxx.xxx.xxx: 27017/applicationdb');

  4. keine Fehler für den Anschluss empfangen werden, so versuchen, ein GET durch Mongoose auszuführen und es gibt Dokumente erfolgreich

Warum bekommen wir dieses Timeout und nie eine abgeschlossene Anfrage bei der Authentifizierung in MongoDB mit?

Jede Hilfe wäre großartig, wir sind ratlos!

+0

Können Sie den Mongoose Connect-Code hinzufügen, die Optionen, die Sie festgelegt haben. – Red

+0

@virattara, der verwendete Code ist direkt unter Schritt 3 in jedem Szenario. – Kyle

Antwort

1

Sie müssen den Mongo Dienst mit der Option --auth sehen here

neu starten, wenn er nicht Werke tut dies zu tun: Versuchen Serveroptionen in Mungo mit keepAlive Set Einstellung. Siehe here und here.

+0

Vielen Dank, --auth war die Option, die es getan hat – Kyle

Verwandte Themen