Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.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
Javascript 从本地服务器连接到heroku psql数据库-获取ssl错误_Javascript_Postgresql_Express_Heroku_Heroku Postgres - Fatal编程技术网

Javascript 从本地服务器连接到heroku psql数据库-获取ssl错误

Javascript 从本地服务器连接到heroku psql数据库-获取ssl错误,javascript,postgresql,express,heroku,heroku-postgres,Javascript,Postgresql,Express,Heroku,Heroku Postgres,我正在尝试从我的express应用程序连接到heroku上的postgreSQL数据库。当express应用程序也部署到heroku时,这可以正常工作,但在本地运行express应用程序时,我无法连接到数据库 const db = require('knex')({ client: 'pg', connection: ${process.env.DATABASE_URL}?ssl=true, }); 我收到此错误:错误:错误:自签名证书 如何解决此问题?因此,最初我使用的是连接字符串,

我正在尝试从我的express应用程序连接到heroku上的postgreSQL数据库。当express应用程序也部署到heroku时,这可以正常工作,但在本地运行express应用程序时,我无法连接到数据库

const db = require('knex')({
  client: 'pg',
  connection: ${process.env.DATABASE_URL}?ssl=true,
});
我收到此错误:错误:错误:自签名证书


如何解决此问题?

因此,最初我使用的是连接字符串,现在改为使用此字符串:

connection: {
    host: process.env.PRODUCTION_HOST,
    user: process.env.PRODUCTION_USER,
    password: process.env.PRODUCTION_PASSWORD,
    database: process.env.PRODUCTION_DATABASE,
    ssl: { rejectUnauthorized: false }
  },

当我使用ssl:true时,它不会工作。但是后来我把它改成了上面的ssl:{rejectUnauthorized:false},现在它似乎还可以正常工作。

所以最初我使用的是连接字符串,我改为使用这个:

connection: {
    host: process.env.PRODUCTION_HOST,
    user: process.env.PRODUCTION_USER,
    password: process.env.PRODUCTION_PASSWORD,
    database: process.env.PRODUCTION_DATABASE,
    ssl: { rejectUnauthorized: false }
  },

当我使用ssl:true时,它不会工作。但后来我将它改为上面的ssl:{rejectUnauthorized:false},现在它似乎工作正常。

另一个选项是使用

connection: {
  connectionString: process.env.DATABASE_URL,
  ssl: { rejectUnauthorized: false },
},

另一个选择是使用

connection: {
  connectionString: process.env.DATABASE_URL,
  ssl: { rejectUnauthorized: false },
},

即使我添加了ssl:{rejectUnauthorized:false},我仍然得到了err:Error:self-signed证书,有什么想法@skoll?@J86很难说。是否可能使用其他设置在其他地方初始化连接?或者数据库URL本身是否包含冲突的SSL设置?这应该是您需要的。尽管我添加了ssl:{rejectUnauthorized:false},但我仍然得到了err:Error:self-signed证书,有什么想法@skoll?@J86很难说。是否可能使用其他设置在其他地方初始化连接?或者数据库URL本身是否包含冲突的SSL设置?这应该是你需要的。