ealfonso
ealfonso

Reputation: 7312

org.postgresql.util.PSQLException: "The server does not support SSL" despite ssl=false in jdbc uri

I'm getting the following error using jdbc to access a postgres db:

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

despite ssl=false in jdbc uri

(real credentials scrambled)

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

I'm using 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"]))

I'm using [postgresql "9.1-901.jdbc4"] in my project.clj.

Why is the driver complaining about lack of ssl when the jdbc uri specifies ssl=false?

Upvotes: 4

Views: 4216

Answers (1)

tom
tom

Reputation: 19163

According to the PostgreSQL JDBC documentation, "The mere presence of [the ssl parameter] specifies a SSL connection". Since the default is off, you should leave out the ssl= parameter from your jdb-uri to connect without SSL.

Upvotes: 4

Related Questions