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

n6lpvg4x  于 2023-11-18  发布在  PostgreSQL
关注(0)|答案(2)|浏览(126)

我正在Heroku上运行Postgres DB和Node应用程序。当我尝试

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?

0yycz8jy

0yycz8jy1#

如果你不能编辑pg_hba.conf,因为你正在使用像heroku这样的服务,试试这个。
您所要做的就是将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
  }
}));

字符串

zy1mlcev

zy1mlcev2#

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

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

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

pg_ctl reload


然后重试连接。

相关问题