首页 > 解决方案 > 如何将 Sequelize 节点连接到 Amazon RDS Postgres

问题描述

我无法将 sequelize 连接到 Amazon RDS Postgres DB。

下面是我的连接字符串:

const dbConfig = new Sequelize(database, username, password, {
  host: host,
  ssl: true,
  dialect: "postgres",
  logging: console.log,
});

这将打印 ff 错误:

SequelizeConnectionError: password authentication failed for user "USER01"

这个USER01是我的本地 postgres 用户名。我什至不知道它为什么要连接到我的本地服务器。

如果我提供 ff 连接字符串:

const dbConfig = new sequelize.Sequelize(database, username, password, {
  host: host,
  ssl: true,
  dialect: "postgres",
  dialectOptions: {
    ssl: "Amazon RDS"
  },
  logging: console.log,
});

我得到 ff 错误:

C:\Users\USER01\Desktop\myproject\node_modules\pg\lib\connection.js:85
        if ('key' in self.ssl) {
                  ^

TypeError: Cannot use 'in' operator to search for 'key' in Amazon RDS
    at Socket.<anonymous> (C:\Users\USER01\Desktop\myproject\node_modules\pg\lib\connection.js:85:19)
    at Object.onceWrapper (events.js:422:26)
    at Socket.emit (events.js:315:20)
    at addChunk (_stream_readable.js:295:12)
    at readableAddChunk (_stream_readable.js:271:9)
    at Socket.Readable.push (_stream_readable.js:212:10)
    at TCP.onStreamRead (internal/stream_base_commons.js:186:23)

注意:我要证明的连接字符串是我的 Amazon RDS 连接详细信息。

标签: node.jsamazon-web-servicessequelize.jsamazon-rds

解决方案


dialectOptions: {
    ssl: {
       {rejectUnauthorized: false},
    }
}

请试试这个


推荐阅读