Назад | Перейти на главную страницу

Невозможно получить доступ к MongoDB, установленному на виртуальной машине GCE, с клиентского рабочего стола

Поэтому я установил MongoDB v4.0 на виртуальную машину Ubuntu 18.10, работающую на Google Compute Engine. Установлен успешно, хорошо работает с mongo оболочка через SSH. Теперь я хотел получить доступ к базе данных удаленно со своего рабочего стола.

Следующий этот руководство, я отредактировал свой /etc/mongod.conf файл и закомментировал bind_ip строка в следующем коде:

net:

port: 27017

# bindIp: 127.0.0.1

Перезапустил службу service mongod restart

Также открыл TCP-порт 27017 в брандмауэре Google Cloud Platform.

Однако база данных по-прежнему недоступна любым способом, т.е. mongo оболочка, установленная на моем локальном компьютере, MongoDB Compass, server_ip:27017 форматировать в Google Chrome, все не подключаются.

Я побежал sudo netstat -tlnp через SSH на виртуальной машине,

У меня есть только следующая строка для MongoDB:

tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN 18490/mongod

В 0.0.0.0 Строка, которая должна была быть там, указывающая, что он открыт для всех соединений, все еще отсутствует.

Возможно, это ошибка конфигурации или какой-то внутренний брандмауэр блокирует соединение?

Изменить: я даже убедился, что iptables этого не вызывает. Выдал команды

iptables -A INPUT -p tcp --destination-port 27017 -m state --state NEW,ESTABLISHED -j ACCEPT

iptables -A OUTPUT -p tcp --source-port 27017 -m state --state ESTABLISHED -j ACCEPT

Все еще не повезло

Решил это. Это действительно проблема конфигурации, а не проблема брандмауэра.

По-видимому, MongoDB больше не работает с bindIp: 0.0.0.0 или комментируя bindIp целиком.

Что сработало, так это то, что я удалил строку bindIp и заменил ее на

bindIpAll: правда

Итак, окончательный код выглядит так:

сеть:

порт: 27017

bindIpAll: правда

# bindIp: 127.0.0.1

P.S. Если вы делаете это на своем сервере, не забудьте включить аутентификацию MongoDB.

Раскомментируйте строку security: И добавить authorization: 'enabled' ниже этого.

безопасность:

авторизация: 'включено'