我正在尝试在IBM云VM(Ubuntu 18)上启动spring应用程序。我正在使用的命令是java -jar application.jar。它使用spring数据和SSL证书连接到IBM PostGres服务。它在我的本地计算机上运行良好,但是当我尝试运行vm时,出现以下错误:
org.postgresql.util.PSQLException: Loading the SSL root certificate /home/*******/.postgresql/root.crt into a TrustManager failed.
at org.postgresql.ssl.jdbc4.LibPQFactory.<init>(LibPQFactory.java:151) ~[postgresql-42.2.2.jar!/:42.2.2]
at org.postgresql.ssl.MakeSSL.convert(MakeSSL.java:42) ~[postgresql-42.2.2.jar!/:42.2.2]
at org.postgresql.core.v3.ConnectionFactoryImpl.enableSSL(ConnectionFactoryImpl.java:389) ~[postgresql-42.2.2.jar!/:42.2.2]
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:160) ~[postgresql-42.2.2.jar!/:42.2.2]
at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49) [postgresql-42.2.2.jar!/:42.2.2]
at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:195) [postgresql-42.2.2.jar!/:42.2.2]
at org.postgresql.Driver.makeConnection(Driver.java:452) [postgresql-42.2.2.jar!/:42.2.2]
at org.postgresql.Driver.connect(Driver.java:254) [postgresql-42.2.2.jar!/:42.2.2]
at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:136) [HikariCP-3.2.0.jar!/:na]
at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:369) [HikariCP-3.2.0.jar!/:na]
at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:198) [HikariCP-3.2.0.jar!/:na]
at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:467) [HikariCP-3.2.0.jar!/:na]
at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:541) [HikariCP-3.2.0.jar!/:na]
at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:115) [HikariCP-3.2.0.jar!/:na]
我挠头,是因为我在本地使用与VM上完全相同的SSL证书和jar,但无法正常工作。任何帮助,将不胜感激。谢谢。
答案 0 :(得分:0)
通过将root.cert放入
修复/root/.postgresql/root.crt
并运行带有sudo
的jar。