我无法通过Heroku上的Strapi连接到Postgres DB

问题描述 投票:0回答:2

[如此处所述,尝试使用Postgres在Heroku上部署Strapi

https://strapi.io/documentation/v3.x/deployment/heroku.html

但是我得到这个错误

error: no pg_hba.conf entry for host "84.212.51.43", user "ssqqeaz***", database "d6gtu***", SSL off

我使用Heroku Postgres附加组件。

我的数据库配置:

module.exports = ({ env }) => ({
  defaultConnection: 'default',
  connections: {
    default: {
      connector: 'bookshelf',
      settings: {
        client: 'postgres',
        host: env('DATABASE_HOST', '127.0.0.1'),
        port: env.int('DATABASE_PORT', 27017),
        database: env('DATABASE_NAME', 'strapi'),
        username: env('DATABASE_USERNAME', ''),
        password: env('DATABASE_PASSWORD', ''),
      },
      options: {
        ssl: true
      },
    },
  },
});

为什么?请帮助!

postgresql heroku-postgres strapi
2个回答
0
投票

尝试将ssl : true更改为ssl : false


0
投票

您发布的当前配置不适用于Heroku Postgres数据库。这里的主要问题是您正在从手动设置的config vars中读取postgres数据库url的组件。 Heroku强烈建议您这样做,因为如果发生灾难,他们可能需要将数据库移至新主机。 DATABASE_URL由Heroku在应用程序上创建数据库时设置,它是您可以用来保持最新状态的一个配置变量。继续...

您将需要从DATABASE_URL配置变量中解析用户名,密码,主机,端口和数据库名称,并将其提供给settings块的属性。根据您提供的错误,我可以告诉您当前不执行此操作,因为Heroku数据库的用户名都以'u'开头,因此,如果出现错误user "ssqqeaz***",则非常有问题。第一步,您可以尝试在settings块中对这些值进行硬编码,以确保其有效(确保在执行操作后旋转凭据,否则请清除git历史记录以防止泄露凭据)。 Postgres连接网址的格式如下:postgres:// $USERNAME : $PASSWORD @ $HOSTNAME : $PORT / $DATABASE_NAME

© www.soinside.com 2019 - 2024. All rights reserved.