如何在使用连接字符串时设置knex连接ssl选项

时间:2015-06-04 19:45:16

标签: knex.js

当我使用连接字符串初始化knex时,如何将连接的ssl属性设置为true?同样如何将调试设置为true?我通常会传入一个连接对象,但在这种情况下,我必须使用环境变量中的连接字符串。

var database = {
    client: 'pg',
    connection: connstr //normally I would pass in the object below
    //connection: {
    //    "host": config.get('database_host'),
    //    "user": config.get('database_user'),
    //    "password": config.get('database_password'),
    //    "database": config.get('database_name'),
    //    "debug": config.get('database_debug'),
    //    "ssl":config.get('database_ssl')
    //}
};

var knex = require('knex')(database);
knex.connection.ssl = true;  // this doesn't seem to do anything

2 个答案:

答案 0 :(得分:4)

只需将?ssl=true添加到连接字符串的末尾(在数据库名称的末尾)。对于调试,请在设置ssl后添加?debug=true&debug=true我实际上不确定对不起,所以请尝试两者。

答案 1 :(得分:0)

对于 pg >= 8.x,您将需要如下内容:

connection: {
  connectionString: dbConnection,
  ssl: { rejectUnauthorized: false }
}

这个答案让我来到这里:https://stackoverflow.com/a/66898176/776167

您可以阅读更多here