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
三个月前,我创建了一个部署在 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