我使用的是Spring3,Hibernate4和postgres9.2.
为了启用SSL数据库连接,我按照以下步骤操作:
>创建自签名证书:参考:http://www.postgresql.org/docs/9.2/static/ssl-tcp.html#SSL-CERTIFICATE-CREATION
>将生成的server.crt和server.key复制到postgres / 9.2 / data文件夹中.
> hibernate连接的URL:jdbc:postgresql:// localhost:5432 / DB_NAME?ssl = true& sslfactory = org.postgresql.ssl.NonValidatingFactory
重新启动postgres后,我运行我的应用程序,它给出错误:
org.postgresql.util.PsqlException: The server does not support SSL.
at org.postgresql.core.v3.ConnectionFactoryImpl.enableSSL(ConnectionFactoryImpl.java:307)
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:105)
at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:65)
at org.postgresql.jdbc2.AbstractJdbc2Connection.<init>(AbstractJdbc2Connection.java:140)
at org.postgresql.jdbc3.AbstractJdbc3Connection.<init>(AbstractJdbc3Connection.java:29)
at org.postgresql.jdbc3g.AbstractJdbc3gConnection.<init>(AbstractJdbc3gConnection.java:21)
at org.postgresql.jdbc4.AbstractJdbc4Connection.<init>(AbstractJdbc4Connection.java:31)
at org.postgresql.jdbc4.Jdbc4Connection.<init>(Jdbc4Connection.java:23)
at org.postgresql.Driver.makeConnection(Driver.java:393)
at org.postgresql.Driver.connect(Driver.java:267)
即使我尝试在pg_hba.conf文件的末尾添加此行,但postgres不会重新启动:
hostssl all all 127.0.0.1/32 trust
编辑
我添加了ssl = true并删除了postgresql.conf中与ssl相关的条目的注释,并且它有效.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。