Vercel客户端用pg 8连Heroku PostgreSQL报no pg_hba.conf错误咨询
Vercel 部署应用连接 Heroku PostgreSQL 异常问题
核心报错场景
部署在Vercel的Node.js客户端使用pg 8版本依赖连接Heroku托管的PostgreSQL数据库时,触发报错:no pg_hba.conf entry for host "...", user "...", database "...", SSL off。
已尝试的配置与遇到的问题
最初参考Heroku官方PostgreSQL Node.js连接文档编写的数据库配置如下:
require('dotenv').config(); module.exports = { driver: 'pg', connectionString: process.env.NODE_ENV === 'test' ? process.env.DB_TEST_URL : process.env.DATABASE_URL, ssl: { rejectUnauthorized: false, }, };
后续按官方文档指引和同类问题排查思路做了多轮调整,仍遇到连续问题:
- 直接应用上述基础配置后,依然会触发
no pg_hba.conf entry错误 - 按照文档要求设置环境变量
PGSSLMODE=no-verify,连接报错没有得到解决 - 调整SSL配置为
PGSSLMODE=require时,又会触发自签名证书校验错误
当前待明确的排查方向
目前梳理出三个核心待验证的问题方向:
- 将pg客户端降级到8版本之前的稳定版,是否能够解决当前连接异常
- 连接失败的原因是否和应用部署运行在Vercel的环境特性相关
- 现有数据库配置的编写方式是否存在逻辑疏漏
备注:已经尝试检索并落地所有公开可查的同类问题解决方案,故障仍未定位解决。
内容的提问来源于stack exchange,提问作者Daniel Sottile
相关产品推荐
相关产品推荐

