【问题标题】:Heroku Postgres database plan change results in crashing applicationHeroku Postgres 数据库计划更改导致应用程序崩溃
【发布时间】:2016-08-24 19:12:10
【问题描述】:

我刚刚将我的 Heroku 应用程序数据移到了新版本的更大数据库中。重新启动应用程序时,我遇到了一个错误,这在连接到 heroku 之外的数据库时已被广泛讨论。

app[web.1]: Caused by: org.postgresql.util.PSQLException: FATAL: no pg_hba.conf entry for host "XX.XX.XX.XX", user "12345678901234", database "12345678901234", SSL off

heroku FAQ 声明:

您正在尝试建立没有 SSL 的数据库连接。 SSL 需要连接 [...] 为所有 在 -0 和 -2 计划上的一些较新的数据库上的连接。请参阅 您的 postgres 驱动程序有关如何建立加密的文档 连接。

我无法访问我的 heroku 实例的 postgres 选项,是吗? 我是否缺少任何简单的信息?

附加信息:我正在使用带有 Java 的 Play Framework 2.3.7。 Heroku 使用环境变量中的不可变值处理连接。基础设施使用 Heroku Toolbelt 进行管理。

【问题讨论】:

  • 您能否分享更多关于 1)您的平台/框架(Java Spring?Java Play?其他东西?)和 2)您如何建立连接的信息?虽然您无权访问 PostgreSQL 服务器的选项,但您可以控制 JDBC 客户端使用的选项。 (例如,在实例化连接时,传递值为“true”的“ssl”属性。
  • @bimsapi 感谢您的提问。我添加了信息。这个问题是 Heroku 特有的,与操作客户端或服务器无关,因为我无权访问它们。 Heroku 管理一切。

标签: postgresql ssl heroku


【解决方案1】:

您的build.sbt 中可能有类似的内容:

"postgresql" % "postgresql" % "9.1-901-1.jdbc4"

改成这样:

"org.postgresql" % "postgresql" % "9.4.1208"

这将默认使用 SSL,如 Heroku Postgresql documentation 中所述。

如果无法升级库,则必须手动将这些参数添加到DATABASE_URL

ssl=true&sslfactory=org.postgresql.ssl.NonValidatingFactory

【讨论】:

    猜你喜欢
    • 2020-11-18
    • 1970-01-01
    • 1970-01-01
    • 2011-07-14
    • 1970-01-01
    • 2020-06-28
    • 2013-02-04
    • 2017-08-22
    • 1970-01-01
    相关资源
    最近更新 更多