1

(Ruby 2.1.2,Rails 4)。我正在尝试使用Amazon EC2为我的实例部署应用程序,并将Amazon RDS用于我的Postgres数据库。我正在使用dokku-alt进行部署(类似于dokku)。VPC无法访问数据库实例

由于某些原因,我无法连接到我的数据库。日志显示:

05:22:06 worker.1 | [Worker(host:b6c9d96b9868 pid:14)] Error while reserving job: FATAL: password authentication failed for user "medclerk5prod1" 
05:22:06 worker.1 | FATAL: password authentication failed for user "medclerk5prod1" 
05:22:06 worker.1 | 2014-10-17T05:22:06+0000: [Worker(host:b6c9d96b9868 pid:14)] Error while reserving job: FATAL: password authentication failed for user "medclerk5prod1" 
05:22:06 worker.1 | FATAL: password authentication failed for user "medclerk5prod1" 
05:22:06 worker.1 | 
05:22:07 web.1 | I, [2014-10-17T05:22:07.037335 #13] INFO -- : listening on addr=0.0.0.0:5000 fd=9 
05:22:07 web.1 | E, [2014-10-17T05:22:07.059422 #13] ERROR -- : FATAL: password authentication failed for user "medclerk5prod1" 
05:22:07 web.1 | FATAL: password authentication failed for user "medclerk5prod1" 
05:22:07 web.1 | (PG::ConnectionBad) 

我确定环境变量设置为我的database.yml使用(这也是如何获得用户名)。密码包括小写字母和大写字母以及数字。我一次又一次检查,多次重新启动应用程序,尝试了不同的密码,并且难住了。

我也尝试访问数据库使用正确的凭据使用pgAdmin3,它工作正常。我也可以通过本地机器上的终端访问数据库。

我错过了什么吗?

+0

你想从哪里连接?您是否检查了工作者实例和数据库之间的安全组设置? – Guy 2014-10-17 06:18:33

+0

看起来这不是一个网络问题,而是一个本地环境/凭证问题。你能否确认你是否可以通过命令行(代码之外)进行连接?这样我们可以确定它是否是AWS /网络配置错误或代码问题。 – 2014-10-17 13:05:46

回答

0

事实证明这是一个环境/凭证问题。我能够通过命令行进行连接。

我注意到,使用dokku config:set <app> <key>=<value>命令时,我使用环境变量设置的密码与最初键入的密码不同。也许这是一个dokku-alt的错误...?

的密码应该是:med45$$clerk76XOL55,但它被保存为:med4512841clerk76XOL55

看来好像特殊符号进行了改变。

之后,我重新启动应用程序,它似乎很好地连接到数据库。