spring - 如何设置 Spring/Heroku/postgres SSL 数据源

标签 spring postgresql ssl heroku

我正在尝试创建一个从 Heroku/Spring 应用程序到 postgres.heroku.com postgres 数据库的数据源。这是我的 applicationContext.xml 片段。

<bean id="securityDataSource" class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName" value="org.postgresql.Driver"/>
    <property name="url" value="jdbc:postgresql://url/dstabase"/>
    <property name="username" value="user"/>
    <property name="password" value="password"/>
</bean>

但是当我运行应用程序时,tomcat 给出了这个错误:

Cannot create PoolableConnectionFactory (FATAL: no pg_hba.conf entry for host "10.11.12.13", user "username", database "database", SSL off)

如何配置它以使用 SSL?我需要它来建立与 postgres.heroku.com 的连接

最佳答案

您需要使用相关的 ssl 信息扩展您的 JDBC 连接 URL。

您的 JDBC 连接 URL 需要包含以下内容:

ssl=true&sslfactory=org.postgresql.ssl.NonValidatingFactory

所以在你的情况下,URL 是:

jdbc:postgresql://url/dstabase?ssl=true&amp;sslfactory=org.postgresql.ssl.NonValidatingFactory

此信息的来源: https://devcenter.heroku.com/articles/connecting-to-relational-databases-on-heroku-with-java#connecting-to-a-database-remotely

关于spring - 如何设置 Spring/Heroku/postgres SSL 数据源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11832361/

相关文章:

java - 无法部署 Spring Boot 应用程序。任意页面出现 404 错误

java - 将模型对象从 spring Controller 传递到 jsp

php - SSL 操作失败,代码为 1 : dh key too small

security - 在防火墙中只允许 IPv4 和 HTTPS

java - 如何在 Spring 将@Scheduled(cron) 与SpEL 一起使用?

postgresql - 号 : invalid input syntax for integer: "$1"

postgresql - 使用 postgres 将大量行从一个表移动到另一个新表的有效方法

r - 更改 R 包中的功能并在 Ubuntu 上安装

javascript - 由于 "ERR_CERT_DATE_INVALID",连接到 websocket 失败

java - 由于 EndpointDispatcher 上的 ContractFilter 不匹配,带有 Action ” 的消息无法在接收方处理