Strapi CMS, Heroku error: no pg_hba.conf entry for host

Strapi CMS, Heroku error: no pg_hba.conf entry for host

三个月前,我创建了一个部署在 Heroku 上的 Strapi 应用程序,一切正常。本地环境我用的是macOS 10.13.6和node 14.15.4

数据库的配置是在一个名为 database.js 的文件中创建的,该文件位于 rootApp/config/env/production/database.js 以下是这些文件中的所有配置(database.js):

const parse = require('pg-connection-string').parse;
const config = parse(process.env.HEROKU_POSTGRESQL_MAROON_URL);
module.exports = ({ env }) => ({
  defaultConnection: 'default',
  connections: {
    default: {
      connector: 'bookshelf',
      settings: {
        client: 'postgres',
        host: "ec2-35-169-184-61.compute-1.amazonaws.com",
        port: 5432,
        database: "d3d9tcukxxx",
        username: "mwtwuvkwxxxx",
        password: "42f0337xxxxx",
      },
      options: {
                ssl:true,
      },
    },
  },
});

但 3 个月后(现在),我从 heroku logs --tail 开始检查,然后这些应用出现错误,消息是:

error error: no pg_hba.conf entry for host "3.86.36.125", user "mwtwuvkwtrqpir", database "d3d9tcukrk5fgh", SSL off

我使用的是 Strapi 3.2.5 ,并且我在 Heroku Postgres 上部署了免费计划(业余爱好)。 我希望每个人都帮助我解决这个问题,并希望帮助其他人解决同样的问题。 谢谢

我们的 Heroku 实例也遇到了同样的问题,最近才找到解决办法。

rejectUnauthorized 添加到数据库配置似乎有效。

config/database.js

module.exports = ({ env }) => ({
  defaultConnection: 'default',
  connections: {
    default: {
      connector: 'bookshelf',
      settings: {
        client: 'postgres',
        host: env('DATABASE_HOST', 'localhost'),
        port: env.int('DATABASE_PORT', 5432),
        database: env('DATABASE_NAME', 'strapi'),
        username: env('DATABASE_USERNAME', 'strapi'),
        password: env('DATABASE_PASSWORD', 'strapi'),
        schema: env('DATABASE_SCHEMA', 'public'), // Not Required
        ssl: {
          rejectUnauthorized: env.bool('DATABASE_SSL_SELF', false), // For self-signed certificates
        },
      },
      options: {
        ssl: env.bool('DATABASE_SSL', false),
      },
    },
  },
});

不过我不能完全相信,正是 Strapi 论坛上的这个 post 让我找到了答案: https://forum.strapi.io/t/error-no-pg-hba-conf-entry-for-host-ssl-off/3409

随后 link: https://strapi.io/documentation/developer-docs/latest/setup-deployment-guides/configurations.html#database