ruby-on-rails – rails postgres适配器支持ssl?

我正在尝试配置rails应用程序以远程连接到postgres数据库.我注意到MysqL的连接适配器有选项,指定设置ssl连接所需的信息,但postgres / pg适配器没有等效的选项.

谷歌搜索后,我也找不到任何东西(只通过ssh隧道连接).

这么简单,试图让rails postgres适配器通过ssl连接死路?

谢谢.任何帮助或方向表示赞赏.

-H

解决方法

2012年末,情况似乎发生了变化.尽管文档仍然稀疏,但pg gem似乎会自动协商SSL,并且可以强制jdbc驱动程序使用SSL.

我的应用程序是一个混合的MRI-jRuby应用程序,它访问heroku-postgres,一个需要SSL的云postgresql服务器.

# 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)

pg gem似乎是自动协商SSL.但是,JDBC适配器没有. MRI连接典型的database.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)

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...