2015-03-30 4 views
0

EDIT; прикрепление моего app.js, я используюOpenShift MongoError: auth не удается решить проблему?

git add app.js 
git commit -m "updated app.js" 
git push 

команды нажать код из локальной машины, и мой app.js код выглядит следующим образом:

/* 
*RESTfull server 
*/ 
//defining express middleware 
var express=require('express'); 
//require mongoose, this middleware helps in modeling data for mongodb 
var mongoose=require('mongoose'); 
//require passport, this middleware helps in authentiation 
var passport=require('passport'); 
//require passport, this middleware parsing body 
var bodyParser = require('body-parser'); 

var flash = require('connect-flash'); 

//define port on which node app is gonna run 
//var port  = process.env.PORT || 8000; 
var server_port = process.env.OPENSHIFT_NODEJS_PORT || 8080 ; 
var server_ip_address = process.env.OPENSHIFT_NODEJS_IP || '127.0.0.1' ; 

var app=express(); 


app.use(bodyParser.json()); 

app.use(passport.initialize()); 
app.use(passport.session()); 
app.use(flash()); 
====================================================================== 
app.listen(server_port,server_ip_address); 
console.log('The magic happens on port ' + 'http://'+server_ip_address+':'+server_port); 

EDIT: Я заметил, все MongoDB код подключения, теперь у моего app.js есть простой код expressjs, но я могу видеть тот же вывод из команды «rhc tail -a app», я не уверен, почему nodejs catridge пытается подключиться к mongodb, хотя в коде нет кода app.js, возможно ли, что журнал был сгенерирован ранее и отображается тот же журнал? Можно ли очистить файл журнала и проверить его один раз? Может кто-нибудь, пожалуйста, помогите мне.

Я развернул приложение nodejs (expressjs) для сервера с открывающейся поддержкой. Я нахожусь в mongoError «MongoError: auth failed», я предоставляю учетные данные серверу mongodb. Изначально, когда начинается дочерний процесс узла, он пытается подключиться к
«mongodb: // admin: XXXXXX @ ip: port», но он должен подключиться к «mongodb: // admin: XXXXXX @ ip: port/admin» as учетные данные находятся в коллекции admin.system.users. Я использую mongoose для подключения к mongoDB, поэтому я сменил свой mongoose на mongoose.connect (mongodb: // admin: XXXXXX @ ip: port/admin); Но я все еще вижу, что дочерний процесс пытается подключиться к этому URL-адресу «mongodb: // admin: XXXXXX @ ip: port», но позже он подключается к правильной коллекции, и я могу видеть консольный вывод следующего кода ,

mongoose.connection.once('connected', function() { 
 
    console.log("Connected to database G") 
 
    });

Я проверил несколько маршрутов, они работают отлично. Я хочу понять, почему это так, и я могу игнорировать эту ошибку или как я могу решить эту проблему?

Заранее благодарен.

ответ

0

Вы должны использовать process.env.OPENSHIFT_MONGODB_DB_URL вместо формирования собственного URL-адреса. Эта переменная среды имеет следующий формат:

mongodb://admin:[email protected]:12345/ 
+0

HI Бен, спасибо за быстрый ответ, я на самом деле используя переменные среды процесса, я просто использовал формат ip, о котором идет речь, даже тогда он ведет себя по вышеуказанному пути. –

+0

. Я вижу ... у нас есть несколько серверов на OpenShift, и мы просто используем переменную окружения без «admin» в конце U RL, и все они отлично работают без ошибок. Когда создается картридж mongodb, openshift предоставляет URL-адрес, который является просто переменной окружения без присоединенного «admin». – Ben

+0

Привет, Бен, я пробовал это, но я столкнулся с той же проблемой. Интересно, что на этот раз тоже такая же картина продолжается, и я получаю сообщение «Подключено к базе данных G» при третьей попытке, я вставляю вывод команды «rhc tail -a app» вниз –

0

Прикрепление мой "RHC хвост -a приложение" commad,

==> app-root/logs/nodejs.log-20150328020443 <== 
 
DEBUG: Starting child process with 'node app.js' 
 
mongodb://admin:[email protected]:59281/ 
 

 
mongodb://admin:[email protected]:59281/ 
 

 
The magic happens on port http://127.9.17.129:8080 
 
/var/lib/openshift/550f3c0ffcf933066f0001b8/app-root/runtime/repo/node_modules/m 
 
ongoose/node_modules/mongodb/lib/mongodb/connection/base.js:246 
 
     throw message; 
 
      ^
 
MongoError: auth fails 
 
    at Object.toError (/var/lib/openshift/550f3c0ffcf933066f0001b8/app-root/runt 
 
ime/repo/node_modules/mongoose/node_modules/mongodb/lib/mongodb/utils.js:114:11) 
 

 
    at /var/lib/openshift/550f3c0ffcf933066f0001b8/app-root/runtime/repo/node_mo 
 
dules/mongoose/node_modules/mongodb/lib/mongodb/db.js:1194:31 
 

 
==> app-root/logs/nodejs.log-20150327071155 <== 
 
    at EventEmitter.emit (events.js:98:17) 
 
DEBUG: Program node app.js exited with code 8 
 
DEBUG: Starting child process with 'node app.js' 
 
mongodb://admin:[email protected]:59281/ 
 

 
mongodb://admin:[email protected]:59281/ 
 

 
The magic happens on port http://127.9.17.129:8080 
 
/var/lib/openshift/550f3c0ffcf933066f0001b8/app-root/runtime/repo/node_modules/m 
 
ongoose/node_modules/mongodb/lib/mongodb/connection/base.js:246 
 
     throw message; 
 
      ^
 
MongoError: auth fails 
 

 
==> app-root/logs/nodejs.log <== 
 
DEBUG: program 'app.js' 
 
DEBUG: --watch '/var/lib/openshift/550f3c0ffcf933066f0001b8/app-root/data/.nod 
 
ewatch' 
 
DEBUG: --ignore 'undefined' 
 
DEBUG: --extensions 'node|js|coffee' 
 
DEBUG: --exec 'node' 
 
DEBUG: Starting child process with 'node app.js' 
 
DEBUG: Watching directory '/var/lib/openshift/550f3c0ffcf933066f0001b8/app-root/ 
 
data/.nodewatch' for changes. 
 
admin:[email protected]:59281 
 
The magic happens on port http://127.9.17.129:8080 
 
Connected to database G 
 

 
==> app-root/logs/haproxy.log <== 
 
[WARNING] 087/140540 (417258) : Server express/local-gear is UP, reason: Layer7 
 
check passed, code: 200, info: "HTTP status check returned code <3C>200<3E>", ch 
 
eck duration: 1ms. 1 active and 0 backup servers online. 0 sessions requeued, 0 
 
total in queue. 
 
[WARNING] 088/001408 (417258) : Server express/local-gear is DOWN, reason: Layer 
 
4 connection problem, info: "Connection refused", check duration: 0ms. 0 active 
 
and 0 backup servers left. 0 sessions active, 0 requeued, 0 remaining in queue. 
 
[ALERT] 088/001408 (417258) : proxy 'express' has no server available! 
 
[WARNING] 088/002019 (417258) : Server express/local-gear is UP, reason: Layer7 
 
check passed, code: 200, info: "HTTP status check returned code <3C>200<3E>", ch 
 
eck duration: 29ms. 1 active and 0 backup servers online. 0 sessions requeued, 0 
 
total in queue. 
 
[WARNING] 088/110018 (417258) : Server express/local-gear is DOWN, reason: Layer 
 
4 connection problem, info: "Connection refused", check duration: 0ms. 0 active 
 
and 0 backup servers left. 0 sessions active, 0 requeued, 0 remaining in queue. 
 
[ALERT] 088/110018 (417258) : proxy 'express' has no server available! 
 
[WARNING] 088/110112 (417258) : Server express/local-gear is UP, reason: Layer7 
 
check passed, code: 200, info: "HTTP status check returned code <3C>200<3E>", ch 
 
eck duration: 1ms. 1 active and 0 backup servers online. 0 sessions requeued, 0 
 
total in queue. 
 
[WARNING] 088/110502 (417258) : Server express/local-gear is DOWN, reason: Layer 
 
4 connection problem, info: "Connection refused", check duration: 0ms. 0 active 
 
and 0 backup servers left. 0 sessions active, 0 requeued, 0 remaining in queue. 
 
[ALERT] 088/110502 (417258) : proxy 'express' has no server available! 
 
[WARNING] 088/110556 (417258) : Server express/local-gear is UP, reason: Layer7 
 
check passed, code: 200, info: "HTTP status check returned code <3C>200<3E>", ch 
 
eck duration: 1ms. 1 active and 0 backup servers online. 0 sessions requeued, 0 
 
total in queue. 
 

 
==> app-root/logs/nodejs.log-20150328074316 <== 
 
The magic happens on port http://127.9.17.129:8080 
 
/var/lib/openshift/550f3c0ffcf933066f0001b8/app-root/runtime/repo/node_modules/m 
 
ongoose/node_modules/mongodb/lib/mongodb/connection/base.js:246 
 
     throw message; 
 
      ^
 
MongoError: auth fails 
 
    at Object.toError (/var/lib/openshift/550f3c0ffcf933066f0001b8/app-root/runt 
 
ime/repo/node_modules/mongoose/node_modules/mongodb/lib/mongodb/utils.js:114:11) 
 

 
    at /var/lib/openshift/550f3c0ffcf933066f0001b8/app-root/runtime/repo/node_mo 
 
dules/mongoose/node_modules/mongodb/lib/mongodb/db.js:1194:31 
 
    at /var/lib/openshift/550f3c0ffcf933066f0001b8/app-root/runtime/repo/node_mo 
 
dules/mongoose/node_modules/mongodb/lib/mongodb/db.js:1903:9 
 
    at Server.Base._callHandler (/var/lib/openshift/550f3c0ffcf933066f0001b8/app 
 
-root/runtime/repo/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connec 
 
tion/base.js:453:41) 
 
    at /var/lib/openshift/550f3c0ffcf933066f0001b8/app-root/runtime/repo/node_mo 
 
dules/mongoose/node_modules/mongodb/lib/mongodb/connection/server.js:487:18 
 

 
==> app-root/logs/haproxy_ctld.log <== 
 
I, [2015-03-22T18:06:38.808186 #415579] INFO -- : Starting haproxy_ctld 
 
I, [2015-03-27T14:20:21.556898 #15736] INFO -- : Starting haproxy_ctld 
 
I, [2015-03-29T12:18:29.365873 #417278] INFO -- : Starting haproxy_ctld 
 
I, [2015-03-29T12:18:37.485326 #417532] INFO -- : Starting haproxy_ctld 
 

 
==> app-root/logs/nodejs.log-20150323084556 <== 
 
    at Function.Module._load (module.js:280:25) 
 
    at Module.require (module.js:364:17) 
 
    at require (module.js:380:17) 
 
    at Object.<anonymous> (/var/lib/openshift/550f3c0ffcf933066f0001b8/app-root/ 
 
runtime/repo/app.js:43:16) 
 
    at Module._compile (module.js:456:26) 
 
    at Object.Module._extensions..js (module.js:474:10) 
 
    at Module.load (module.js:356:32) 
 
    at Function.Module._load (module.js:312:12) 
 
    at Function.Module.runMain (module.js:497:10) 
 
DEBUG: Program node app.js exited with code 8 
 

 
==> app-root/logs/nodejs.log-20150328012640 <== 
 
    at /var/lib/openshift/550f3c0ffcf933066f0001b8/app-root/runtime/repo/node_mo 
 
dules/mongoose/node_modules/mongodb/lib/mongodb/db.js:1194:31 
 
    at /var/lib/openshift/550f3c0ffcf933066f0001b8/app-root/runtime/repo/node_mo 
 
dules/mongoose/node_modules/mongodb/lib/mongodb/db.js:1903:9 
 
    at Server.Base._callHandler (/var/lib/openshift/550f3c0ffcf933066f0001b8/app 
 
-root/runtime/repo/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connec 
 
tion/base.js:453:41) 
 
    at /var/lib/openshift/550f3c0ffcf933066f0001b8/app-root/runtime/repo/node_mo 
 
dules/mongoose/node_modules/mongodb/lib/mongodb/connection/server.js:487:18 
 
    at MongoReply.parseBody (/var/lib/openshift/550f3c0ffcf933066f0001b8/app-roo 
 
t/runtime/repo/node_modules/mongoose/node_modules/mongodb/lib/mongodb/responses/ 
 
mongo_reply.js:68:5) 
 
    at null.<anonymous> (/var/lib/openshift/550f3c0ffcf933066f0001b8/app-root/ru 
 
ntime/repo/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/ser 
 
ver.js:445:20) 
 
    at EventEmitter.emit (events.js:95:17) 
 
    at null.<anonymous> (/var/lib/openshift/550f3c0ffcf933066f0001b8/app-root/ru 
 
ntime/repo/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/con 
 
nection_pool.js:207:13) 
 
    at EventEmitter.emit (events.js:98:17) 
 
DEBUG: Program node app.js exited with code 8

Смежные вопросы