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

前端之家收集整理的这篇文章主要介绍了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)

猜你在找的Ruby相关文章