Strapi CMS,Heroku错误:主机没有pg_hba.conf条目



三个月前,我创建了一个部署在Heroku上的Strapi应用程序,一切都很好。我使用macOS 10.13.6和节点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检查了一下,然后这些应用程序出现了错误,消息是:

错误错误:主机"没有pg_hba.conf条目;3.86.36.125〃;,用户";mwtwuvkwtrqpir";,数据库";d3d9tcukrk5fgh";,SSL关闭

我使用了Strapi 3.2.5,我被部署在无计划(Hobby(的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论坛上的这篇帖子让我找到了答案:https://forum.strapi.io/t/error-no-pg-hba-conf-entry-for-host-ssl-off/3409

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

最新更新