【问题标题】:Deploying Strapi to Production Heroku database将 Strapi 部署到生产 Heroku 数据库
【发布时间】:2020-09-22 11:26:57
【问题描述】:

我有一个更新的 Strapi 站点,运行 V3.1.4 - 我们来自一个 V3.0.6 站点,结构变化很小。 Strapi 可以在我的本地版本上连接到 Postgres,一切都很好,但是当部署到 Heroku 时,它变得更加复杂。

我有一个使用 Heroku Hobby 数据库的临时站点,包含以下软件包:

"knex": "^0.20.10",
"pg": "^8.0.3",
"pg-connection-string": "^2.3.0",

我的配置使用:

options: {
        pool: {
          min: 0,
          max: 18,
          createTimeoutMillis: 30000,
          acquireTimeoutMillis: 600000,
          idleTimeoutMillis: 30000
        }
      }

并且 SSL 设置为 false。

这运行良好,但如果我将其部署到“实时”(即使用需要 SSL 的生产数据库),我会收到以下错误:

[DATABASE] [10-1] sql_error_code = 28000 FATAL: no pg_hba.conf entry for host "3.249.190.208", user "XXX", database "XXX", SSL off

我以前也遇到过这个问题,根据this post,我已将 PG 降到 V7.4.3,但随后出现此错误:

error KnexTimeoutError: Knex: Timeout acquiring a connection. The pool is probably full. Are you missing a .transacting(trx) call?

并且没有不能通过更改任何池设置来使其工作,包括使用:

ssl:true,
rejectUnauthorized: false,

Node 和 NPM 设置为:

  "engines": {
    "node": ">=10.0.0",
    "npm": ">=6.0.0"
  },

我想我已经阅读了有关此主题的大多数帖子,但似乎没有任何效果。任何想法都非常受欢迎。

【问题讨论】:

  • 您的解决方案是什么?似乎 Heroku 现在要求所有 Postgres 连接的免费/爱好层的 SSL 配置?

标签: heroku knex.js strapi heroku-postgres


【解决方案1】:

经过更多搜索并关注由no pg_hba.conf entry for host 导致的自签名问题后,我遇到了https://github.com/strapi/strapi/pull/6050,这有助于解决它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-26
    • 2018-05-15
    • 2021-04-07
    • 1970-01-01
    • 1970-01-01
    • 2011-08-27
    • 2021-05-17
    相关资源
    最近更新 更多