You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js连接AWS RDS PostgreSQL时出现no pg_hba.conf错误怎么办?

解决AWS RDS PostgreSQL与Node.js Sequelize连接的加密问题

问题分析

你遇到的错误no pg_hba.conf entry for host <my-ip>, user <username>, database <db>, no encryption,本质是AWS RDS PostgreSQL实例要求加密连接,但你的Sequelize配置未启用SSL;而终端的psql命令会自动适配RDS的加密要求,所以能正常连接。

解决方案

方案1:修改Sequelize配置添加SSL选项

更新你的database.ts配置,在Sequelize初始化时添加dialectOptions启用SSL:

import { Sequelize } from 'sequelize';

const dbUrl:string = process.env.POSTGRES_URL || '';

const sequelize: Sequelize = new Sequelize(dbUrl, {
    dialect: 'postgres',
    dialectOptions: {
        ssl: {
            require: true,
            // 若需验证AWS根证书,可下载官方根证书后指定ca路径;否则设为false跳过验证
            rejectUnauthorized: false
        }
    }
});

export default sequelize;

方案2:在连接URL中添加SSL参数

直接修改.env中的POSTGRES_URL,追加SSL模式参数:

POSTGRES_URL=postgres://<username>:<password>@<end-point>:5432/<db>?sslmode=require

验证

修改完成后重新执行npm run dev,若配置正确,应用将成功连接到RDS数据库。

内容的提问来源于stack exchange,提问作者Tauseef Razaq

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 15:29:59