Я успешно настроил компас для подключения к базе данных. Теперь я хочу подключить к нему mon goose.
Соединение установлено через туннель S SH. Вот конфигурация:
var config = {
username:'admin',
host:'ssh.server.com',
privateKey:require('fs').readFileSync(path.join("C:", "Users", "rojer", ".ssh", "rkm.priv")),
port: 222,
dstHost: 'mongodb-db2',
dstPort: 27011,
password:'secret',
};
var server = tunnel(config, function (error, server) {
if(error){
console.log("SSH connection error: " + error);
} else {
console.log('SSH ok');
}
mongoose.connect('mongodb://mongodb-db2:27017', {
useNewUrlParser: true,
useUnifiedTopology: true,
authSource: "admin",
auth: {
user: 'admin',
password: 'secret',
}
}, function(error){
if(error){
console.log(`ERROR:::: ${error}`);
}else{
console.log(`Success!!!`);
}
})
});
После запуска скрипта я вижу следующее сообщение:
$ node mongo.js
SSH ok
ERROR:::: MongooseTimeoutError: Server selection timed out after 30000 ms
Вход на удаленный сервер. Я могу подключиться к базе данных через:
mongo --host mongodb-db2 -uadmin -psecret --authenticationDatabase=admin