Postgres不允许我的应用程序连接

时间:2016-02-11 09:44:33

标签: java postgresql ssl properties-file

我有一个数据库服务器,我可以使用psql从我的机器登录:

root@engine:/devops# psql -h database -U postgres -d uat

鉴于以下结果:

psql (9.5.0, server 9.4.5)
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)
Type "help" for help.

uat=# 

但如果我尝试从我的应用程序连接:

no pg_hba.conf entry for host *** user "postgres", database "uat", SSL off

这是我的应用程序使用的props.properties

uatDb.user=postgres
uatDb.password=***
uatDb.driverClass=org.postgresql.Driver
uatDb.jdbcUrl=jdbc:postgresql://database:5432/uat?ssl=true
uatDb.port=5432
uatDb.name=uat
uatDb.host=database

我甚至将公共证书从我的数据库提供程序导入到我的应用程序信任中,但似乎也没有。

我想知道为什么我可以通过psql连接,但我的应用程序没有。 有什么帮助吗?

1 个答案:

答案 0 :(得分:1)

我可以确认连接是否已关闭SSL,这很可能是由于证书验证限制。你能尝试添加:

sslfactory = org.postgresql.ssl.NonValidatingFactory

并查看是否可以解决问题?