相关疑难解决方法(0)

如何让Rails使用SSL连接到PostgreSQL?

当我尝试使用Rails 3.2项目连接到远程PostgreSQL数据库时,我收到此错误:

FATAL:  no pg_hba.conf entry for host "10.0.0.3", user "projectx", database "projectx", SSL off
Run Code Online (Sandbox Code Playgroud)

我在Rails上的配置如下所示:

staging:
  adapter: postgresql
  database: projectx
  username: projectx
  password: 123456
  host: 10.0.0.3
  encoding: utf8
  template: template0
  min_messages: warning
Run Code Online (Sandbox Code Playgroud)

在PostgreSQL上看起来像这样:

hostssl    all             all             0.0.0.0/0            md5
hostssl    all             all             ::/0                 md5
Run Code Online (Sandbox Code Playgroud)

这两台机器都在Ubuntu 12.04上运行.

我发现帖子说它应该自动运行,这显然不会发生.我发现有人说libpq没有启用SSL并启用它解决了问题,但没有解释如何启用它.我可以看到,当我查看libpq的依赖关系时,它依赖于某些SSL包,所以我假设编译了SSL支持.

有些帖子建议添加:

sslmode: require
Run Code Online (Sandbox Code Playgroud)

或这个:

sslmode: enabled
Run Code Online (Sandbox Code Playgroud)

启用ssl模式,但它对我没有影响.我读到它被默默地忽略了.

我也尝试了数据库字符串方法,结果是:

staging:
  adapter: postgresql
  database: "host=10.0.0.3 dbname=projectx user=projectx password=123456 sslmode=require"
Run Code Online (Sandbox Code Playgroud)

然后我收到了错误:

could not connect to server: No such file or directory
Is the server running locally …
Run Code Online (Sandbox Code Playgroud)

postgresql ruby-on-rails-3 ubuntu-12.04

18
推荐指数
2
解决办法
1万
查看次数

ActiveRecord可以远程连接到PostgreSQL并保护数据库密码吗?

我在远程VPS服务器(CentOS 5)上有一个PostgreSQL数据库,我想连接到我的本地Mac笔记本电脑连接到它的Rails应用程序.在我的笔记本电脑上,我安装了ActiveRecord PostgreSQL适配器 - postgres (0.7.9.2008.01.28).

我在PostgreSQL文档中读到:

基于密码的身份验证方法是md5,crypt和密码.除了通过连接发送密码的方式外,这些方法的操作类似:MD5散列,加密加密和明文.

[...]

如果您完全关注密码"嗅探"攻击,则首选md5 ...应避免使用普通密码,尤其是对于通过开放Internet进行的连接(除非您在连接周围使用SSL,SSH或其他通信安全包装).

在标准的Rails中database.yml,对于localhost连接会有这样的东西......

development:
  adapter: postgresql
  database: journalapp_development
  username: xxx
  password: yyy
  host: localhost
Run Code Online (Sandbox Code Playgroud)

但是PostgreSQL文档中讨论的身份验证方法没有任何内容.有没有像" auth_method: md5" 这样的选项吗?

ruby postgresql activerecord ruby-on-rails

4
推荐指数
1
解决办法
4981
查看次数

与Postgres安全的TCP连接?需要SSL?

早上好,

我正在浏览Postgresql配置文件,最近注意到有一个ssl选项.我想知道什么时候需要这个.

假设您有一个应用服务器和一个数据库服务器 - 不在专用网络内运行.如果用户尝试登录,如果未启用SSL,那么当查找是否为有效的用户名/密码时,应用服务器是否会以明文形式将用户的密码传输到数据库?

这里的标准做法是什么?我应该设置我的数据库使用SSL吗?

如果是这种情况,config/database.yml我的Rails应用程序中的连接设置是否有任何区别?

谢谢!

database security postgresql ssl

4
推荐指数
1
解决办法
3187
查看次数