Подключение Mon goose к удаленному MongoDB на сервере S SH - PullRequest
0 голосов
/ 14 февраля 2020

Я использую локальный сервер Node / Express для подключения к MongoDB на удаленном веб-сервере. Доступ к серверу осуществляется через S SH, и я могу запустить там mon go. Но когда я запускаю свой локальный сервер, он успешно запускается S SH, но время ожидания при попытке подключения к базе данных истекает. На веб-сервере я изменил свой bind_ip на открытый (0.0.0.0), а мой auth на true.

const config = {
    username: 'myusername',
    password: 'mypassword',
    host: 'mywebserverIP',
    port: 22,
    dstPort: 27017,
    localHost: '127.0.0.1',
    localPort: '29337',
};

// Body Parser Middleware
app.use(bodyParser.json());

// Bring in mongo db
const db = 'mongodb://myusername:password@webserverIP/db';

const server = tunnel(config, function(error, server) {
    if (error) {
        console.log('SSH connection error: ' + error);
    }
    console.log('SSH connection successful');
    // Connect to mongo
    mongoose
        .connect(db, { useNewUrlParser: true, useUnifiedTopology: true })
        .then(() => console.log('Connected to Mongo Database!'))
        .catch(err => console.error(err));
});

const port = process.env.PORT || 5000;

app.listen(port, () => console.log(`Server started on port ${port}!`));

Я не уверен, в чем проблема. Я получаю это сообщение об ошибке в моей консоли.

MongooseError [MongooseTimeoutError]: Server selection timed out after 30000 ms

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...