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

сервер postgres работает в локальной сети, но не в глобальной сети (соединение отклонено)

Я пытаюсь настроить сервер postgres, но не могу получить к нему доступ через Интернет. Он отлично работает в моей локальной сети. Сервер - это просто настольный компьютер, использующий рабочий стол Ubuntu 12.04.

отказ от ответственности: Я не планирую использовать эту конфигурацию постоянно. В конечном итоге я подключусь через SSH-туннель, и кое-что из того, что я делаю, может быть небезопасным, но сейчас я просто хочу выяснить, почему это не работает.

В моем файле postgresql.conf я установил listen_addresses = '*'. Чтобы проверить, что с моими pg_hba.conf, Я все прокомментировал и просто использовал

host all all all trust

Кажется, что с брандмауэром ничего не происходит - чтобы убедиться, что я установил gufw и разрешил весь входящий и исходящий трафик как на сервере, так и на клиенте.

Когда я пытаюсь подключиться через свое доменное имя, которое указывает на внешний IP-адрес сервера, я получаю следующее сообщение:

psql: could not connect to server: Connection refused
Is the server running on host "<hostname>" (<IP address>) and accepting
TCP/IP connections on port 5432?

Результат netstat -an | grep 5432 похоже, указывает на то, что postgres действительно прослушивает соединения по всем адресам:

tcp        0      0 0.0.0.0:5432            0.0.0.0:*               LISTEN     
tcp6       0      0 :::5432                 :::*                    LISTEN     
unix  2      [ ACC ]     STREAM     LISTENING     9771     /var/run/postgresql/.s.PGSQL.5432

строка в pg_hba.conf, например, e. грамм.:

host all all 0.0.0.0/0 md5