找不到 root.crt postgresql

2024-04-22

我有一个正在使用的 postgres docker 映像,并且正在其上启用 SSL。我希望它进行完全验证,因为我有一个 root.crt 并且希望确保所有可以使用 SSL 的证书都经过验证。因此,在我的 docker-compose 文件中,我已将 server.crt 和 server.key 安装到 /var/ssl 并将 root.crt 安装到 /root/.postgresql。

卷: - ~/server_certs:/var/ssl - ~/root_certs:/root/.postgresql

我得到的错误是

ERROR [2018-07-10 20:28:24,355] org.apache.tomcat.jdbc.pool.ConnectionPool: Unable to create initial connections of pool.
! java.io.FileNotFoundException: /root/.postgresql/root.crt (No such file or directory)
! at java.io.FileInputStream.open0(Native Method)
! at java.io.FileInputStream.open(FileInputStream.java:195)
! at java.io.FileInputStream.<init>(FileInputStream.java:138)
! at java.io.FileInputStream.<init>(FileInputStream.java:93)
! at org.postgresql.ssl.jdbc4.LibPQFactory.<init>(LibPQFactory.java:124)
! ... 32 common frames omitted
! Causing: org.postgresql.util.PSQLException: Could not open SSL root certificate file /root/.postgresql/root.crt.

任何有关让 postgres 找到 root.crt 的帮助将不胜感激(postgres 10 btw)


作为解决方法,您可以添加sslmode=require(没有证书验证!)或sslfactory=org.postgresql.ssl.DefaultJavaSSLFactory(使用 JRE 信任存储验证证书)到您的 JDBC url。

此行为和提到的解决方法在https://github.com/pgjdbc/pgjdbc/issues/1307 https://github.com/pgjdbc/pgjdbc/issues/1307

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

找不到 root.crt postgresql 的相关文章

随机推荐