Я пытаюсь получить доступ к базе данных postgres удаленно, но не могу заставить ее работать.
Я установил виртуальную машину Linux Gen 2 в Azure с помощью Ubuntu 14.04 и установленный postgres. SSH работает удаленно, а psql отлично работает при удаленном подключении.
Шаги, которые я предпринял:
обновил postgresql.conf
listen_addresses
чтобы быть '*'
и подтверждено через psql
и показать listen_addresses
, что он прослушивает *
.
Обновлен pg_hba.conf
путем добавления размещать все все 0.0.0.0/0 md5
.
Добавлено правило разрешения входящего трафика в группе безопасности сети Azure для порта 5432.
Перезапуск postgres / ubuntu.
После этих шагов я ' m может нормально работать с psql и получать к нему доступ, но всякий раз, когда я пытаюсь удаленно подключиться к экземпляру через pgAdmin3, я получаю сообщение об ошибке о том, что время ожидания соединения истекло.
Кроме того, когда я удаленно использую средство проверки портов, порт 5432 сообщается как закрытое.
Что я не понимаю / делаю неправильно?
Заранее спасибо.
Обновление:
Похоже, вам нужно использовать iptables-persistent
См.
http://postgresql.freeideas.cz/install-postgresql-9-5-on-ubuntu-14-04/
Итак, по какой-то причине это проблема Azure. Я открыл порт 5432
, но это не сработало. В отчаянии я открыл 1024-65535 и теперь могу подключиться. Ясно, что мне не хватает чего-то, связанного с использованием правил для входящих подключений. Хотя это решает мою проблему, это явно не лучшая практика. Есть мысли о том, что мне не хватает?
С той же проблемой, порт где-то между 25000-27500. Можно было бы и дальше пытаться сузить круг, но на данный момент это кажется мне достаточно хорошим - лучше, чем выставлять каждый порт напоказ. У меня также есть еще одно правило, которое оставляет порт 5432 открытым.
Я столкнулся с той же проблемой на виртуальной машине Azure - Linux. Я пробовал ниже
Изменить PG_hba.conf Измените postgres.conf Добавьте правило в брандмауэр с помощью портала Azure
, но не удалось подключиться с помощью pgadmin. Но как только я запустил команду ниже, я смог подключиться.
iptables -I INPUT 1 -m tcp -p tcp --dport 5432 -j ACCEPT
У меня все выше работает абсолютно. Проведя столько часов :)
Всего наилучшего !!