2

当我将 heroku postgres 数据库与 Auth0 连接时,我遇到了错误。

could not connect to postgres db { [error: no pg_hba.conf entry for host "XXXXXXXX", user "XXXXXX", database "XXXXXX", SSL off]
  name: 'error',
  length: 161,
  severity: 'FATAL',
  code: '28000',
  detail: undefined,
  hint: undefined,
  position: undefined,
  internalPosition: undefined,
  internalQuery: undefined,
  where: undefined,
  schema: undefined,
  table: undefined,
  column: undefined,
  dataType: undefined,
  constraint: undefined,
  file: 'auth.c',
  line: '496',
  routine: 'ClientAuthentication' }
[error] 28000 - undefined

我正在使用 Auth0,所以请在下面找到带有 heroku 数据库详细信息和 URL 的 auth0 代码。

configuration.config_file = "postgres://username:password@host:port/DB_name"

function login (email, password, callback) {

  var conString = configuration.config_file;
  postgres(conString, function (err, client) {
    if (err) {
      console.log('could not connect to postgres db', err);
      return callback(err);
    }
  });
}
4

3 回答 3

4

尝试将 '?ssl=true' 添加到您的 conString。Heroku 需要通过 SSL 进行远程连接。有关详细信息,请参阅https://devcenter.heroku.com/articles/heroku-postgresql#connecting-in-node-js(在“远程连接”下)。

于 2015-12-22T11:06:47.257 回答
2

您在此处编写的代码在 Auth0(在云中)中运行。这意味着您需要使用 Auth0 可以连接的主机名或 IP 地址。

如果您使用的主机名DBSERVER01或 IP 地址10.10.5.1仅在您的网络中可用,则 auth0 将无法访问它们。

确保使用网络的公共 IP 地址(如45.19.3.29)或面向公众的主机名(如mydb01.mycompany.com)。

于 2015-04-02T09:30:57.487 回答
-2

看看这个来自 ubuntu 网站的文档。它解释了如何在本地安装 postgres 数据库。

安装 postgres 后,您需要创建一个用户并为其提供适当的身份验证。

于 2015-04-02T10:24:28.130 回答