Ruby on Rails Postgres подключение к удаленной базе данных с использованием Socks Proxy - PullRequest
0 голосов
/ 03 июля 2018

У меня есть удаленная база данных, доступная только для белых IP-адресов. Я проверил, что это может быть связано с использованием статического IPS моего quotaguard. Но, с настройкой quotaguard в моем приложении ruby ​​on rails, оно не работает. Мое приложение размещено на сервере heroku, и я использую Puma, а не единорога. Кто-нибудь когда-нибудь был в состоянии сделать это?

1 Ответ

0 голосов
/ 04 июля 2018

Я обратился в службу поддержки quotaguard и решил свою проблему. Моя ошибка была в номере порта. Я использовал настройку qgtunnel, следуя инструкциям агента поддержки. Они работали как по волшебству. Кроме того, консоль rails, открытая при запуске heroku, все еще не использовала настройки прокси, но основное приложение теперь работает отлично. Вот эти шаги:

  1. Загрузите QGTunnel в корень вашего проекта скручиваемость https://s3.amazonaws.com/quotaguard/qgtunnel-latest.tar.gz | tar xz

  2. Настройка туннеля на информационной панели quotaguard аддоны герою: открытый квотгардстатик Это откроет нашу панель инструментов. В правом верхнем углу нажмите Настройки, затем Настройка. Затем слева нажмите «Туннель», затем «Создать туннель». Удаленный пункт назначения: tcp: //: 5432 Локальный порт: 5433 Прозрачный режим: правда Шифрование: false (я считаю, что протокол postgres уже зашифрован, но вы должны перепроверить)

ПРИМЕЧАНИЕ. Я использовал локальный порт 5433, поскольку 5432 (postgres по умолчанию), вероятно, уже используется вашей производственной базой данных. Если нет, то вы можете использовать 5432.

  1. Обновите ваш procfile

    web: bin/qgtunnel bundle exec puma -C config/puma.rb

  2. Обновите ваш config / database.yml, чтобы он указывал на правильный порт Если вы использовали 5433 на шаге 2, вам нужно изменить соединение, чтобы указать на это.

    external: adapter: postgresql encoding: unicode pool: 5 host: remote_database_host database: remote_database_name username: remote_database_username password: remote_database_password

  3. Принеси свои изменения герою и погрейся в туннельной славе.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...