我正在尝试为 postgresql 实现一个监听器。当获得数据库连接时,如果我连接到我的本地主机,它将正常工作,但一旦我将主机更改为远程服务器,它将失败。
@Bean
public DataSource datasource(){
PGDataSource pgDataSource = new PGDataSource();
pgDataSource.setHost( hostname );
pgDataSource.setDatabase( database );
pgDataSource.setPassword( password );
pgDataSource.setPort( Integer.parseInt(port) );
pgDataSource.setUser( user );
return pgDataSource;
}
应用程序.yml
pg:
connection:
host: 127.0.0.1
pwd: test
usr: test
dbs: test
port: 5432
当我使用这些属性运行监听器时,它工作正常,但一旦我更改主机,它就会失败。我认为它可能是 ssl,但没有将 ssl 设置为 true 的方法。
我必须解决这个错误。我只需要在其中一个属性中启用 ssl。我在 PGDataSource 中寻找 ssl 的 setter,但由于我没有找到任何方法,所以我在数据库名称中启用了它。
我做了以下事情:
pg:
connection:
host: remote-host
pwd: test
usr: test
dbs: test?ssl.mode=require
port: 5432
我是一名优秀的程序员,十分优秀!