Spring Boot 使用 SSL 连接到 Postgresql

Fab*_*gio 6 java postgresql ssl-certificate spring-boot application.properties

我有一个使用 Postgresql 9.6 作为数据库的 Spring Boot 应用程序(版本 2.1.1)。我必须通过 SSL 连接到数据库sslmode=verify-ca。到目前为止我所做的是在 Application.properties 文件中设置属性

spring.datasource.url=jdbc:postgresql://`url`:`port`/`db`?
    ssl=true&
    sslmode=verify-ca&
    sslcert=`path_to_client_cert`&
    sslkey=`path_to_client_key`&
    sslrootcert=`path_to_ca_cert`
Run Code Online (Sandbox Code Playgroud)

有没有办法在其他一些 spring 属性中而不是在连接 url 中指定 ssl 属性?

此外,是否可以为证书指定相对路径而不是使用绝对路径?

小智 6

我对放置的证书使用了相对路径,src/main/resources效果很好:

jdbc:postgresql://db_host:db_port/db_name?
    sslmode=require&
    sslrootcert=`my_root_certificate.crt`
Run Code Online (Sandbox Code Playgroud)

看来 URL 是指定这些参数的唯一位置。您也可以使用环境变量进行插值。