Проблема с tunnel-ssh npm для подключения ssh к mongo через mongoose - PullRequest
0 голосов
/ 09 июля 2019

Я пытаюсь установить соединение с удаленным сервером монго через ssh туннель, используя mongoose

Код реализации:

import tunnel from 'tunnel-ssh';

const config = {
    username: 'username',
    Password: 'password',
    host: process.env.SSH_SERVER, //192.168.9.104
    port: 22,
    dstHost: process.env.DESTINATION_SERVER, //192.168.9.104
    dstPort: process.env.DESTINATION_PORT, //27017
    localHost: '127.0.0.1',
    localPort: 27017
};

это конфигурация, которую я создал, пока соединение выглядит следующим образом:

class DB {
    initDB() {
        tunnel(config, (error, server) => {
            if (error) {
                console.log('SSH connection error: ' + error);
            }
            const url = 'mongodb://' + process.env.MONGO_URL; //localhost:27017/DBname
            mongoose.connect(url, { useNewUrlParser: true });
            mongoose.plugin(toJson);
            mongoose.plugin(setProperties);

            var db = mongoose.connection;
            db.on('error', console.error.bind(console, 'DB connection error:'));
            db.once('open', function() {
                console.log('DB connection successful');
            });
        });
    }
}

Когда вызывается функция initDB(), появляется следующая ошибка

SSH connection error: ConfigError: host not set

events.js:183
      throw er; // Unhandled 'error' event
      ^
ConfigError: host not set

Хост уже установлен, но эта ошибка, кажется, где-то в части конфигурации, но я не могу выделить точную причину

...