2012 के अंत में, चीजें बदल गई हैं। हालांकि प्रलेखन अभी भी विरल है, पीजी मणि एसएसएल को ऑटो-बातचीत करने लगता है, और जेडीबीसी ड्राइवरों को एसएसएल का उपयोग करने के लिए मजबूर किया जा सकता है।
My ऐप एक हाइब्रिड MRI-jRuby ऐप है, जो Heroku-postgres को एक्सेस करता है, एक क्लाउड पोस्टग्रेस्क्ल सर्वर जिसे 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)
पीजी मणि, एसएसएल ऑटो-बातचीत करने के लिए लग रहा था। हालाँकि, JDBC एडेप्टर नहीं था। MRI एक विशिष्ट डेटाबेस.yml (ssl का कोई उल्लेख नहीं) से जुड़ा है, लेकिन JDBC ने फेंक दिया:
(FATAL: no pg_hba.conf entry for host "xx.xx.xx.xx", user "username", database "database", SSL off)
मैंने अंततः JDBC-URL प्रारूप में कनेक्शन विवरण निर्दिष्ट करने का प्रयास किया, और कनेक्शन सफल रहा:
# jruby database.yml
production:
adapter: jdbcpostgresql
url: jdbc:postgresql://host/database?user=user&password=password&ssl=true&sslfactory=org.postgresql.ssl.NonValidatingFactory
(सभी सेटअप के लिए sslfactory की आवश्यकता नहीं हो सकती है)