2014-11-21 81 views
0

如何從另一個運行在不同雲服務上的web應用程序連接到heroku postgres。來自另一個ec2實例的Heroku Postgres連接

我有一個heroku postgres。我有另一個在EC2上運行的web應用程序。當我在ec2上的webapp嘗試連接到heroku應用程序時,它失敗。

我嘗試telnet從ec2實例到端口5432上的heroku postgres,它失敗。

任何人都可以提供一個指針嗎?

回答

0

您可以使用heroku pg:credentials命令獲取數據庫的憑據。例如:

$ heroku pg:credentials DATABASE_URL 
Connection info string: 
    "dbname=abcdefghijklmn host=ec2-1-2-3-4.compute-1.amazonaws.com port=5432 user=abcdefghijklmn password=abcdefghijklmnopqrstuvwxyz sslmode=require" 
Connection URL: 
    postgres://abcdefghijklmn:[email protected]:5432/abcdefghijklmn 

然後,您可以使用連接URL或分解憑據在你的其他應用程序。請注意0​​。連接到Heroku Postgres需要使用SSL,這是一些PostgreSQL客戶端(例如Navicat)中的「高級」選項。例如:

$ psql postgres://abcdefghijklmn:[email protected]:5432/abcdefghijklmn 

點擊此處瞭解詳情:https://devcenter.heroku.com/articles/heroku-postgresql#external-connections-ingress