繁体   English   中英

尝试将Postgresql Heroku与Play连接

[英]Trying to connect postgresql heroku with play

我正在尝试将heroku postgresql与play框架(版本2.5.9)一起使用,但是它不起作用...

build.sbt

libraryDependencies ++= Seq(
javaJdbc,
cache,
javaWs,
javaJpa,
"org.webjars" % "bootstrap" % "2.3.1",
"org.hibernate" % "hibernate-entitymanager" % "5.2.3.Final",
"postgresql" % "postgresql" % "9.1-901-1.jdbc4"
)

conf / application.conf

ebean.default = ["models.*"]
db.default.driver=org.postgresql.Driver
db.default.url="postgres://ambpfzhcrpupmx:PeSnt07zQFVWKQrsqcRd1GzW6I@ec2-54-227-245-197.compute-1.amazonaws.com:5432/d4i5fck68498ce"
default.username = hereMyUserNameFromHeroku
default.password = "hereMyPassNameFromHeroku"

我得到: Caused by: org.postgresql.util.PSQLException: FATAL: no pg_hba.conf entry for host "78.192.102.83", user "ambpfzhcrpupmx", database "d4i5fck68498ce", SSL off

我不明白为什么...

我正在尝试在URL末尾添加“?ssl = true”,但它也无法正常工作...我得到: Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

有人可以帮助我吗? 谢谢 :)

首先,重置您的Postgres用户名和密码,因为您已经公开发布了它们,现在任何人都可以访问您的数据库。 运行以下命令:

$ heroku pg:credentials DATABASE --reset

然后根据Play Framework文档conf/application.conf更改为使用JDBC_DATABASE_URL环境变量。

db.default.url=${?JDBC_DATABASE_URL}
db.default.username=${?JDBC_DATABASE_USERNAME}
db.default.password=${?JDBC_DATABASE_PASSWORD}

潜在的问题是您的数据库URL未启用SSL,并且您的Postgres JDBC依赖项太旧而无法自动打开。 我建议更新为:

"org.postgresql" % "postgresql" % "9.4.1211"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM