使用连接字符串时如何设置 knex 连接 ssl 选项
how to set knex connection ssl options when using a connection string
当我使用连接字符串初始化 knex 时,如何将连接的 ssl 属性 设置为 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
只需将 ?ssl=true
添加到连接字符串的末尾(在数据库名称的末尾)。对于调试,要么在设置 ssl 之后附加 ?debug=true
,要么附加 &debug=true
我实际上不确定,抱歉,所以两者都试一下。
对于 pg >= 8.x,您需要如下内容:
connection: {
connectionString: dbConnection,
ssl: { rejectUnauthorized: false }
}
这个答案让我来到这里:
你可以阅读更多here
当我使用连接字符串初始化 knex 时,如何将连接的 ssl 属性 设置为 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
只需将 ?ssl=true
添加到连接字符串的末尾(在数据库名称的末尾)。对于调试,要么在设置 ssl 之后附加 ?debug=true
,要么附加 &debug=true
我实际上不确定,抱歉,所以两者都试一下。
对于 pg >= 8.x,您需要如下内容:
connection: {
connectionString: dbConnection,
ssl: { rejectUnauthorized: false }
}
这个答案让我来到这里:
你可以阅读更多here