Подключение из стекового приложения MEAN к MongoDB, работающей на AWS - PullRequest
0 голосов
/ 29 июня 2018

Я нахожусь в процессе создания стекового приложения MEAN. У меня есть mongodb, работающий вживую на AWS, и я подключаюсь к нему с помощью Robo 3T

Итак, я пытался закодировать соединение в строимом экспресс-приложении. Однако независимо от того, как я набираю соединение, я просто получаю ошибку тайм-аута соединения. поэтому мне нужна помощь Теперь в Robo 3t я подключился к нему просто используя localhost, а затем информацию о моем ключе ssh, и он подключается к базе данных.

Вот мой код server.js для этой части: // server.js

const express = require('express'),
    path = require('path'),
    bodyParser = require('body-parser'),
    cors = require('cors'),
    mongoose = require('mongoose'),
    config = require('../config/DB');

    mongoose.Promise = global.Promise;
    mongoose.connect(config.DB).then(
      () => {console.log('Database is connected') },
      err => { console.log('Can not connect to the database'+ err)}
    );  

Итак, как вы можете видеть, я сохранил свой код переменной для строки подключения внутри файла DB.js с переменной DB.

// DB.js

module.exports = {
  DB: 'mongodb://serveripaddres:27017/databasename'
};

Как вы можете видеть выше, я удалил IP-адрес для базы данных, а также имя базы данных, которое я знаю, как правило, вы также можете включить пароль имени пользователя admin в эту строку. Однако мои попытки сделать это также потерпели неудачу. Может кто-нибудь, пожалуйста, скажите мне, что я делаю не так здесь.

О, приложение работает на отдельном сервере, а затем в базе данных. Я понял, что да, может быть проще настроить эти элементы на одном сервере, но я не хочу, чтобы они были структурированы.

Спасибо!

Ответы [ 2 ]

0 голосов
/ 30 июня 2018

Если порт безопасности разрешает трафик из другого экземпляра, то проблема с конфигурацией.

Выполните следующие действия

Отредактируйте ваш конфигурационный файл MongoDB. В Ubuntu:

sudo vim /etc/mongod.conf

Найдите строку net и закомментируйте строку bindIp под ней, которая в настоящее время ограничивает подключения MongoDB к localhost:

Убедитесь, что в вашем файле /etc/mongodb.conf есть следующая строка,

bind_ip = 0.0.0.0

Теперь перезапустите mongodb

sudo service mongod restart
0 голосов
/ 29 июня 2018

Добавьте IP-адрес вашего компьютера в ваши aws по соображениям безопасности, поэтому вам отказывают. и проверьте также учетные данные.

...