NodeJs postgresql连接失败

tkqqtvp1  于 2023-06-22  发布在  Node.js
关注(0)|答案(1)|浏览(135)
  • 我尝试从nodeJs连接到rds postgresqlversion 12,如下所述。它工作得很好,没有任何问题。

const config ={

user: process.env.PG_DB_USERNAME,
       password: process.env.PG_DB_PASSWORD,
       database: process.env.PG_DB_NAME,
       host: process.env.PG_DB_HOST,
       port: process.env.PG_DB_PORT,
    }
      const pool = new Pool(config)

当我们使用postgresql版本15.2从节点Js连接时,我们最终面临以下错误。

    • 错误**

{"length ":181," name ":" error "," severity ":" FATAL "," code ":" 28000 "," file ":" auth.c "," line ":" 543 "," routine ":" ClientAuthentication "," level ":" error "," timestamp ":" 2023 - 06 - 19T14:13:33.294Z "}

[ERROR] error: no pg_hba.conf entry for host "XXXXX", user "test", database "testdb", no encryption

at Parser.parseErrorMessage (/usr/src/app/node_modules/pg-protocol/dist/parser.js:287:98)
at Parser.handlePacket (/usr/src/app/node_modules/pg-protocol/dist/parser.js:126:29)
at Parser.parse (/usr/src/app/node_modules/pg-protocol/dist/parser.js:39:38)
at Socket.<anonymous> (/usr/src/app/node_modules/pg-protocol/dist/index.js:11:42)
at Socket.emit (node:events:526:28)
at Socket.emit (node:domain:475:12)
at addChunk (node:internal/streams/readable:315:12)
at readableAddChunk (node:internal/streams/readable:289:9)
at Socket.Readable.push (node:internal/streams/readable:228:10)
at TCP.onStreamRead (node:internal/stream_base_commons:190:23)
at TCP.callbackTrampoline (node:internal/async_hooks:130:17)

我尝试按照各种堆栈溢出链接中的建议传递以下参数,但以相同的错误结束。
我们尝试按照下面链接中的建议部署代码,但没有得到解决。
参考:Node.js, PostgreSQL error: no pg_hba.conf entry for host
"dialectOptions": { "ssl": true }
ssl: true
请帮助修复此错误。

0dxa2lsx

0dxa2lsx1#

问题是,在版本15之前,postgresql的force_ssl的默认参数值(db参数组)为0。
从版本15开始,他们将此默认值设置为1。
将其设置为0解决了此问题。
来自AWS Doc
您可以通过使用rds.force_ssl参数来要求与PostgreSQL DB示例的连接使用SSL。对于RDS for PostgreSQL版本15,默认的rds.force_ssl参数设置为1(on)。所有其他RDS for PostgreSQL major version 14及更早版本都将rds.force_ssl参数的默认值设置为0(off)。可以将rds.force_ssl参数设置为1(on),以要求连接到数据库示例时使用SSL。
参考:https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Concepts.General.SSL.html

相关问题