Когда я пытаюсь подключиться к удаленной базе данных PostgreSQL с проектом Rails 3.2, я получаю эту ошибку:
FATAL: no pg_hba.conf entry for host "10.0.0.3", user "projectx", database "projectx", SSL off
Моя конфигурация в Rails выглядит так:
staging:
adapter: postgresql
database: projectx
username: projectx
password: 123456
host: 10.0.0.3
encoding: utf8
template: template0
min_messages: warning
и в PostgreSQL выглядит так:
hostssl all all 0.0.0.0/0 md5
hostssl all all ::/0 md5
Обе машины работают на Ubuntu 12.04.
Я нашел сообщения о том, что он должен работать автоматически, чего явно не происходит. Я обнаружил, что некоторые говорят, что libpq не включил SSL и разрешил проблему, но не объяснил, как ее включить. Я могу видеть, когда я смотрю на зависимости libpq, что это зависит от некоторых пакетов SSL, поэтому я бы предположил, что поддержка SSL скомпилирована.
В некоторых сообщениях рекомендуется добавить следующее:
sslmode: require
или это:
sslmode: enabled
чтобы включить режим ssl, но это не повлияло на меня. Я читал, что он молча игнорируется.
Я также попробовал подход к строкам базы данных, в результате чего:
staging:
adapter: postgresql
database: "host=10.0.0.3 dbname=projectx user=projectx password=123456 sslmode=require"
а затем я получил ошибку:
could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
который, как представляется, указывает, что Rails пыталась подключиться к локальному хосту или, скорее, локальному PostgreSQL (там нет) вместо 10.0.0.3.
Любые идеи?