PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

l'adattatore rails postgres supporta ssl?

Alla fine del 2012, le cose sembrano essere cambiate. Sebbene la documentazione sia ancora scarsa, pg gem sembra negoziare automaticamente SSL e i driver jdbc possono essere costretti a utilizzare SSL.

La mia app è un'app ibrida MRI-jRuby, che accede a heroku-postgres, un server cloud postgresql che richiede SSL.

# Gemfile.lock
pg (0.14.1)

activerecord-jdbc-adapter (1.2.2.1)
activerecord-jdbcpostgresql-adapter (1.2.2.1)
jdbc-postgres (9.1.901)

La gemma pg sembrava negoziare automaticamente SSL. Tuttavia, l'adattatore JDBC no. La risonanza magnetica si è collegata a un tipico database.yml (nessuna menzione di ssl), ma JDBC ha lanciato:

(FATAL: no pg_hba.conf entry for host "xx.xx.xx.xx", user "username", database "database", SSL off)

Alla fine ho provato a specificare i dettagli della connessione in formato JDBC-URL e la connessione è riuscita:

# jruby database.yml
production:
  adapter: jdbcpostgresql
  url: jdbc:postgresql://host/database?user=user&password=password&ssl=true&sslfactory=org.postgresql.ssl.NonValidatingFactory

(sslfactory potrebbe non essere necessario per tutte le configurazioni)