Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 在开发环境中使用Heroku PG在GeddyJs上获取SSL错误_Node.js_Postgresql_Heroku_Geddy - Fatal编程技术网

Node.js 在开发环境中使用Heroku PG在GeddyJs上获取SSL错误

Node.js 在开发环境中使用Heroku PG在GeddyJs上获取SSL错误,node.js,postgresql,heroku,geddy,Node.js,Postgresql,Heroku,Geddy,我将GeddyJs与heroku cedar应用程序部署一起使用。我正在为数据库使用Heroku Postgres服务 我已经在geddyjs的配置文件中配置了用户名/密码/主机名/数据库名,但是当我运行node app.js时,它会为nopg_hba.conf抛出一个错误,我知道这与远程访问数据库时未使用SSL有关,但我不知道如何在连接上强制使用SSL 以下是错误日志: 我的config/development.js文件: 如果您试图从heroku外部进行连接,则需要使用SSL进行连接。我们只

我将GeddyJs与heroku cedar应用程序部署一起使用。我正在为数据库使用Heroku Postgres服务

我已经在geddyjs的配置文件中配置了用户名/密码/主机名/数据库名,但是当我运行
node app.js
时,它会为no
pg_hba.conf
抛出一个错误,我知道这与远程访问数据库时未使用SSL有关,但我不知道如何在连接上强制使用SSL

以下是错误日志: 我的config/development.js文件:
如果您试图从heroku外部进行连接,则需要使用SSL进行连接。我们只允许使用SSL加密来自heroku外部的连接

错误:没有主机“70.199.196.17”、用户“12345”、数据库“database1”的pg_hba.conf条目,SSL关闭
表示您无法连接SSL关闭

此外,您可能正在使用database1清理数据库名称,但如果您没有,我可以向您保证,您的数据库名称实际上不是database1


此外,您不应该将凭证硬编码到文件中。从您的环境中读取它们。

您需要将
ssl:true
添加到您的postgres配置中

postgres: {
    port: 5432
  , password: 'foobar' 
  , database: 'database1'
  , host: 'ec2-107-21-126-45.compute-1.amazonaws.com'
  , user: '12345'
  , ssl: true
}

Geddy只是将这个配置对象传递给pg模块。有关更多信息,请查看

谢谢,这是为了发展,因为我没有pg安装在本地。我的凭证存储在我的环境中,就像您推荐的那样。此外,为了回答这个问题,我还更改了我的数据库名/用户/通行证信息
var config = {
  detailedErrors: true
, debug: true
, hostname: 'localhost'
, port: 3000
, model: {
    defaultAdapter: 'postgres'
  }
, db: {
    postgres: {
        port: 5432
      , password: 'foobar' 
      , database: 'database1'
      , host: 'ec2-107-21-126-45.compute-1.amazonaws.com'
      , user: '12345'
    }
  }
, sessions: {
    store: 'memory'
  , key: 'sid'
  , expiry: 14 * 24 * 60 * 60
  }
};

module.exports = config;
postgres: {
    port: 5432
  , password: 'foobar' 
  , database: 'database1'
  , host: 'ec2-107-21-126-45.compute-1.amazonaws.com'
  , user: '12345'
  , ssl: true
}