Oke, temukan jawabannya dengan menelusuri kode sumber sekuel :https://github.com/sequelize/sequelize/blob/master/lib/dialects/postgres/connection-manager.js#L39
Untuk mengaktifkan SSL untuk koneksi PG, Anda tidak perlu native: true
atau ssl: true
tapi dialectOptions.ssl: true
jadi yang berikut ini akhirnya berhasil:
sequelize = new Sequelize(process.env.DATABASE_URL, {
dialect: 'postgres',
protocol: 'postgres',
dialectOptions: {
ssl: true
}
});
Untuk mengatasi self signed certificate
bug pada node-postgres
versi 8 disebutkan di SequelizeConnectionError:sertifikat yang ditandatangani sendiri yang dapat Anda gunakan sebagai gantinya:
sequelize = new Sequelize(process.env.DATABASE_URL, {
dialect: 'postgres',
protocol: 'postgres',
dialectOptions: {
ssl: {
require: true,
rejectUnauthorized: false
}
}
});