Независимо от того, разрешает ли Postgres эту функцию, вы можете включить безопасное соединение с удаленной базой данных с помощью SSH-туннелирования. Вот бесплатная вставка из переполнения стека из веб-документов:
Сначала убедитесь, что сервер SSH
работает правильно на той же машине
в качестве сервера PostgreSQL и что вы
можете войти используя ssh от имени пользователя.
Тогда вы можете установить безопасный туннель
с такой командой из
клиентская машина:
ssh -L 3333: foo.com: 5432 joe@foo.com
Первое число в аргументе -L,
3333, номер порта вашего конца
туннеля; это можно выбрать
свободно. Второе число, 5432, является
удаленный конец туннеля: порт
номер вашего сервера. Имя
или IP-адрес между номерами портов
хост с сервером базы данных
Вы собираетесь подключиться к. С целью
подключиться к серверу базы данных
используя этот туннель, вы подключаетесь к порту
3333 на локальной машине:
psql -h localhost -p 3333 postgres To
сервер базы данных будет выглядеть
как будто вы действительно пользователь
joe@foo.com и он будет использовать все
процедура аутентификации была
настроен для подключения от этого
пользователь и хост. Обратите внимание, что сервер
не будет думать, что связь
SSL-шифруется, так как на самом деле это не так
зашифрован между сервером SSH и
сервер PostgreSQL. Это не должно
создавать дополнительный риск для безопасности
так как они на одной машине.
В случае, если вам нужно больше, вы можете найти его в Интернете, выполнив поиск «туннель SSL» или «туннель SSL postgres». Вот сайт Postgres, где я получил вышеупомянутое:
http://www.postgresql.org/docs/current/static/ssh-tunnels.html
Чтобы подвести итог для Rails, вы должны сделать следующее:
1) В окне терминала выполните первую команду ssh, указанную выше, чтобы установить туннель.
2) Установите реквизиты базы данных так:
development:
adapter: postgresql
database: journalapp_development
username: xxx
password: yyy
host: localhost
port: 3333