首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当出现Node.js = 28000 (主机没有sql_error_code条目)时,如何正确设置到Heroku-Postgres的Heroku sql_error_code连接

当出现Node.js = 28000 (主机没有sql_error_code条目)时,如何正确设置到Heroku-Postgres的Heroku sql_error_code连接
EN

Stack Overflow用户
提问于 2021-11-24 22:55:55
回答 2查看 283关注 0票数 0

我正在研究如何将后端api (next.js/api)设置为由heroku托管的数据库(postgresql)。

在pg.pool的调解下,我设置了以下代码。

代码语言:javascript
复制
const pool = new Pool(
    {
        connectionString: process.env.DATABASE_URL,
        // ssl: {
        //     rejectUnauthorized: false,
        //   }
    })

但是heroku返回了以下错误:

sql_error_code = 28000 FATAL: no pg_hba.conf entry for host "122.180.247.11", user "u3idolso5k2v83", database "dc85788d13v9ej", SSL off

错误描述来自:https://help.heroku.com/DR0TTWWD/seeing-fatal-no-pg_hba-conf-entry-errors-in-postgres

编辑:打算发布这个链接,Is it ok to be setting rejectUnauthorized to false in production PostgreSQL connections?

身份验证失败,因为连接没有使用SSL加密:(SSL )。所有Heroku Postgres生产数据库都需要使用SSL连接,以确保应用程序和数据库之间的通信保持安全。如果客户端没有使用SSL连接到数据库,即使使用正确的凭据连接到数据库,也会看到这些错误。

我觉得这很奇怪,因为heroku已经为我的服务器提供了默认的ssl,所以发生这样的错误是出乎意料的?

我在网上遇到的侧步解决方案是取消connection...which中的ssl属性注释,但我对此感到不安。

代码语言:javascript
复制
const pool = new Pool(
    {
        connectionString: process.env.DATABASE_URL,
         ssl: {
             rejectUnauthorized: false,
           }
    })

如前所述,从这里开始它是不安全的:https://security.stackexchange.com/questions/229282/is-it-safe-to-set-rejectunauthorized-to-false-when-using-herokus-postgres-datab

我不明白为什么会发生这个错误,以及如何用适当的安全性来修复它。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-11-24 23:50:47

对于Postgres服务器来说,SSL证书是非常标准的无效证书。即使是官方的postgres客户端也不验证证书。您使用的库默认用于验证证书,但在很大程度上属于少数。

在为https://www.atdatabases.org/docs/pg-options设置这一设置时,我使它在默认情况下不验证证书以匹配Postgres的标准行为。

这使您可以使用以下简单方法为heroku创建一个连接池:

代码语言:javascript
复制
import createConnectionPool from '@databases/pg';

createConnectionPool(process.env.DATABASE_URL);
票数 1
EN

Stack Overflow用户

发布于 2021-11-25 00:09:27

正如您在链接中所描述的,要回答,您可以升级到Heroku的付费产品之一,该产品确实支持此功能。或者你可以停止使用Heroku。或者你可以忍受难以置信的低风险,有人会把你。

我不明白为什么会发生这个错误,

那你不明白吗?你联系到的解释似乎很清楚。如果你无法比目前为止更清楚地表述你的不确定性,那么有谁能帮助你理解呢?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70103885

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档