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

看來好像特殊符號進行了改變。

之後,我重新啓動應用程序,它似乎很好地連接到數據庫。