Не удается подключиться к heroku postgres из heroku local с помощью образца узла

Я выполнил шаги по адресу: https://devcenter.heroku.com/articles/getting-started-with-nodejs#introduction

Когда я запустил локальный сервер heroku, он не смог подключиться - я увидел, что он использовал process.env.DATABASE_URL, и получил его в свой локальный файл .env, используя: https://devcenter.heroku.com/articles/heroku-local

Но он все равно не подключился, я добавил console.log, чтобы увидеть ошибку:

"ошибка: нет записи pg_hba.conf для хоста" 62.90.xxx.yyy ", пользователя" имя пользователя "," пароль "базы данных, SSL отключен"

Что теперь?


person Noam    schedule 02.04.2018    source источник


Ответы (2)


После долгих поисков выяснилось, что добавление 'pg.defaults.ssl = true' решает проблему для меня, позволяя мне оставаться как можно ближе к образцу, предоставленному Heroku.

Вот мой код

const cool = require('cool-ascii-faces');
const express = require('express')
const path = require('path')
const PORT = process.env.PORT || 5000

const pg = require('pg');
pg.defaults.ssl = true; //this is it!!!

express()
  .use(express.static(path.join(__dirname, 'public')))
  .set('views', path.join(__dirname, 'views'))
....
person Noam    schedule 02.04.2018

Хорошим решением было бы включить SSL только для соединения с сервером Heroku. Для этого добавьте dialectOptions.ssl=true в среду Heroku в config.json файле:

  {
"production": {
    "use_env_variable": "DATABASE_URL",
    "dialectOptions": { "ssl": true },
    "logging": false
  }
person Dmitry Verhoturov    schedule 19.01.2020