我正在尝试为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;
}


application.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

07-24 14:26