我可以配置connect-pg-simple以启用SSL吗?

时间:2016-08-24 13:28:27

标签: postgresql session heroku connect

我在Heroku上运行Postgres数据库和节点应用程序。我试图做的时候

app.use(session({
  store: new pgSession({
    conString: process.env.DATABASE_URL
  }),
  secret: 'my-super-secret-session',
  resave: false,
  cookie: {
    maxAge: 7 * 24 * 60 * 60 * 1000
  }
}));

我收到投诉:error: no pg_hba.conf entry for host "1.2.3.4", user ,myuser", database "mydb", SSL off

我认为我需要告诉connect-pg-simple以某种方式使用SSL?

2 个答案:

答案 0 :(得分:1)

您需要在pg_hba.conf中添加一个条目以允许您的连接。

示例:

vi $PGDATA/pg_hba.conf
host    all             all             1.2.3.4/32           md5

保存此配置文件后,您需要通过发出config reload命令重新加载它:

pg_ctl reload

然后重试连接。

答案 1 :(得分:1)

如果由于使用的是heroku之类的服务而无法编辑pg_hba.conf,请尝试执行此操作。

您要做的就是将conString替换为conObject,并指定一个connectionStringssl选项。

app.use(session({
  store: new pgSession({
    conObject: {
      connectionString: process.env.DATABASE_URL,
      ssl: true,
    },
  }),
  secret: 'my-super-secret-session',
  resave: false,
  cookie: {
    maxAge: 7 * 24 * 60 * 60 * 1000
  }
}));