OK、sequelizeのソースコードを参照して答えを見つけました:https://github.com/sequelize/sequelize/blob/master/lib/dialects/postgres/connection-manager.js#L39
PG接続のSSLをアクティブ化するために、native: true
は必要ありません。 またはssl: true
ただし、dialectOptions.ssl: true
したがって、次のことがようやく機能しました:
sequelize = new Sequelize(process.env.DATABASE_URL, {
dialect: 'postgres',
protocol: 'postgres',
dialectOptions: {
ssl: true
}
});
self signed certificate
を回避するには node-postgres
のバグ SequelizeConnectionErrorで言及されているバージョン8:代わりに使用できる自己署名証明書:
sequelize = new Sequelize(process.env.DATABASE_URL, {
dialect: 'postgres',
protocol: 'postgres',
dialectOptions: {
ssl: {
require: true,
rejectUnauthorized: false
}
}
});