Я пытаюсь настроить сервер 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