org.postgresql.util.PSQLException: "服务器不支持SSL" 尽管 ssl=false in jdbc uri



使用jdbc访问postgres数据库时出现以下错误:

org.postgresql.util.PSQLException: "The server does not support SSL" 

尽管JDBC uri中ssl=false

(真实凭证打乱)

2016-08-17T09:58:11.45-0700 [App/0]      ERR INFO: jdbc uri is jdbc:postgresql://11.626.12.4:6465/rx160w03801440by3lk816f60n0g29yz1?user=j8stf8u7w21rd715sr0417q10uc001385&password=54995711s1304gd60847zt4426hq6331&ssl=false
2016-08-17T09:58:11.48-0700 [App/0]      ERR Exception in thread "main" org.postgresql.util.PSQLException: The server does not support SSL., compiling:(/tmp/form-init5003717642292946239.clj:1:73)
2016-08-17T09:58:11.48-0700 [App/0]      ERR    at clojure.lang.Compiler.load(Compiler.java:7239)
2016-08-17T09:58:11.48-0700 [App/0]      ERR    at clojure.lang.Compiler.loadFile(Compiler.java:7165)
2016-08-17T09:58:11.48-0700 [App/0]      ERR    at clojure.main$load_script.invoke(main.clj:275)
2016-08-17T09:58:11.48-0700 [App/0]      ERR    at clojure.main$init_opt.invoke(main.clj:280)
2016-08-17T09:58:11.48-0700 [App/0]      ERR    at clojure.main$initialize.invoke(main.clj:308)
2016-08-17T09:58:11.48-0700 [App/0]      ERR    at clojure.main$null_opt.invoke(main.clj:343)
2016-08-17T09:58:11.48-0700 [App/0]      ERR    at clojure.main$main.doInvoke(main.clj:421)
2016-08-17T09:58:11.48-0700 [App/0]      ERR    at clojure.lang.RestFn.invoke(RestFn.java:421)
2016-08-17T09:58:11.48-0700 [App/0]      ERR    at clojure.lang.Var.invoke(Var.java:383)
2016-08-17T09:58:11.48-0700 [App/0]      ERR    at clojure.lang.AFn.applyToHelper(AFn.java:156)
2016-08-17T09:58:11.48-0700 [App/0]      ERR    at clojure.lang.Var.applyTo(Var.java:700)
2016-08-17T09:58:11.48-0700 [App/0]      ERR    at clojure.main.main(main.java:37)
2016-08-17T09:58:11.49-0700 [App/0]      ERR Caused by: org.postgresql.util.PSQLException: The server does not support SSL.
2016-08-17T09:58:11.49-0700 [App/0]      ERR    at org.postgresql.core.v3.ConnectionFactoryImpl.enableSSL(ConnectionFactoryImpl.java:200)
2016-08-17T09:58:11.49-0700 [App/0]      ERR    at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:80)
2016-08-17T09:58:11.49-0700 [App/0]      ERR    at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:66)
2016-08-17T09:58:11.49-0700 [App/0]      ERR    at org.postgresql.jdbc2.AbstractJdbc2Connection.<init>(AbstractJdbc2Connection.java:125)
2016-08-17T09:58:11.49-0700 [App/0]      ERR    at org.postgresql.jdbc3.AbstractJdbc3Connection.<init>(AbstractJdbc3Connection.java:30)
2016-08-17T09:58:11.49-0700 [App/0]      ERR    at org.postgresql.jdbc3g.AbstractJdbc3gConnection.<init>(AbstractJdbc3gConnection.java:22)
2016-08-17T09:58:11.49-0700 [App/0]      ERR    at org.postgresql.jdbc4.AbstractJdbc4Connection.<init>(AbstractJdbc4Connection.java:30)
2016-08-17T09:58:11.49-0700 [App/0]      ERR    at org.postgresql.jdbc4.Jdbc4Connection.<init>(Jdbc4Connection.java:24)
2016-08-17T09:58:11.49-0700 [App/0]      ERR    at org.postgresql.Driver.makeConnection(Driver.java:393)
2016-08-17T09:58:11.49-0700 [App/0]      ERR    at org.postgresql.Driver.connect(Driver.java:267)
2016-08-17T09:58:11.49-0700 [App/0]      ERR    at java.sql.DriverManager.getConnection(DriverManager.java:664)
2016-08-17T09:58:11.49-0700 [App/0]      ERR    at java.sql.DriverManager.getConnection(DriverManager.java:208)
2016-08-17T09:58:11.49-0700 [App/0]      ERR    at clojure.java.jdbc$get_connection.invoke(jdbc.clj:272)
2016-08-17T09:58:11.49-0700 [App/0]      ERR    at clojure.java.jdbc$get_connection.invoke(jdbc.clj:256)
2016-08-17T09:58:11.49-0700 [App/0]      ERR    at clojure.java.jdbc$get_connection.invoke(jdbc.clj:259)
2016-08-17T09:58:11.49-0700 [App/0]      ERR    at notification_service.db$db_ensure_tables_exist.invoke(db.clj:8)
2016-08-17T09:58:11.49-0700 [App/0]      ERR    at notification_service.handler$_main.doInvoke(handler.clj:102)
2016-08-17T09:58:11.49-0700 [App/0]      ERR    at clojure.lang.RestFn.invoke(RestFn.java:397)
2016-08-17T09:58:11.49-0700 [App/0]      ERR    at clojure.lang.Var.invoke(Var.java:375)
2016-08-17T09:58:11.49-0700 [App/0]      ERR    at user$eval5.invoke(form-init5003717642292946239.clj:1)
2016-08-17T09:58:11.49-0700 [App/0]      ERR    at clojure.lang.Compiler.eval(Compiler.java:6782)
2016-08-17T09:58:11.49-0700 [App/0]      ERR    at clojure.lang.Compiler.eval(Compiler.java:6772)
2016-08-17T09:58:11.49-0700 [App/0]      ERR    at clojure.lang.Compiler.load(Compiler.java:7227)
2016-08-17T09:58:11.49-0700 [App/0]      ERR    ... 11 more

我正在使用clojure.java.jdbc:

(clojure.java.jdbc/with-db-connection
  [conn jdbc-uri]
  (log/infof "jdbc uri %s" jdbc-uri)
  (clojure.java.jdbc/execute!
   conn
   ["some sql here"]))

我在我的project.clj中使用[postgresql "9.1-901.jdbc4"]

当jdbc uri指定ssl=false时,为什么驱动程序抱怨缺乏ssl ?

根据PostgreSQL JDBC文档,"仅仅存在[ssl参数]就指定了一个ssl连接"。由于默认是off,因此您应该从jdb-uri中去掉ssl=参数,以便不使用SSL进行连接。

最新更新