在AWS for Rails应用程序中使用远程Postgresql

时间:2016-05-01 06:49:27

标签: ruby-on-rails postgresql ruby-on-rails-4 amazon-web-services

我在另一台服务器上使用远程PostgreSQL,并希望将Rails应用程序部署到AWS。我希望AWS与远程PostgreSQL数据库服务器通信。

我收到了错误:

  

致命:用户“postgres”的对等身份验证失败

虽然我已将pg_hba.conf

中的IP列入白名单

我是如何列入白名单的?

我在AWS控制台中看到了公共IP并添加了它。我已经ping了我的AWS网站并添加了IP。

1 个答案:

答案 0 :(得分:0)

错误中的

Peer authentication表示您未尝试远程连接,而是本地连接。您必须查看database.yml中的设置。看到 PG Peer authentication failed了解相关问题。

一旦您准备好连接到真正的远程服务器,那可能仍然无法使用评论中链接到的pg_hba.conf,因为:

host all all * md5
host all all [AWS-PINGED-IP] md5
host all all [AWS-SPECIFIED-PUBLIC-IP] md5
不接受

*作为IP地址掩码,此处不欢迎使用shell通配符语法。在CIDR表示法中使用0.0.0.0/0表示"任何IPv4地址"。 或者如果你没有意思接受来自任何地址的连接,那么完全删除这一行,这似乎是在给定两行之后的情况。

请注意,规则解释会在第一场比赛中按照声明的顺序停止,因此拥有" accept-all"是不合理的。规则后面是一个更严格的规则,因为后者将永远被忽略。