PGD​​atasource不会连接到远程服务器

时间:2017-01-06 23:55:59

标签: spring postgresql ssl datasource

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

1 个答案:

答案 0 :(得分:0)

我必须解决错误。我只需要在其中一个属性中启用ssl。我正在为PGDataSource中的ssl寻找一个setter,但由于我没有找到任何方法来执行它,我在数据库名称中启用它。

我做了以下事情:

pg:
 connection:
  host: remote-host
  pwd: test
  usr: test
  dbs: test?ssl.mode=require
  port: 5432