2014-01-16 23 views
1

我有一個在Heroku上運行的rails 3.2應用程序,它需要從靜態IP地址向外部API代理請求。由於Heroku不提供彈性IP,並且Proximo太貴且限制了我需要做的請求數量,所以我使用mod proxy在US-East的AWS EC2微型實例上設置了一個簡單的轉發代理。AWS允許來自Heroku的轉發代理到外部API的入站訪問

我可以從我的應用程序的本地環境代理請求就好了。但是,來自heroku的請求超時。我的想法是,因爲我可以從我的本地環境中進行代理,故障點必須是Heroku和我的代理服務器之間的連接。我試過這裏給出的答案:Security settings between ec2 and heroku但它沒有奏效。我甚至嘗試過在端口80上允許所有入站訪問(儘管這對互聯網來說很糟糕)。

所以,我的問題是,我應該爲我的ec2實例啓用安全設置以允許Heroku通過它進行代理?

+0

有趣的問題。它是否與Proximo開發一起工作,因爲只有5美元,如果至少有一次往返成功,它纔會好奇。 – archie

+0

我沒有嘗試Proximo,儘管我想這將是我的下一步。但是,就像我說的那樣,它在本地工作,所以它一定是明顯的,我錯過了。或者可能不是:-P – user3166745

回答

0

Heroku dynos全部運行在Amazon EC2 us-east-1數據中心內的機器上。他們在傳出連接上沒有任何限制/防火牆。

只要您有適當的安全組設置以允許從您的dynos連接到您自己的EC2實例,那麼您應該很好。

聽起來好像你沒有正確地打開從us-east-1到你的實例的訪問權限。仔細檢查你的安全組。

  1. 檢查安全組使用的是什麼您的實例:

    如何編輯正確的安全組信息。請參閱您實例的行中「安全組」列的值 。這很重要 - 我更改了默認組的規則,但當我遇到類似問題時,我的實例在 quickstart-1組下。

  2. 轉到安全組選項卡,轉到入站選項卡,在創建 新建規則組合框中選擇HTTP,在源字段中保留0.0.0.0/0,然後單擊添加 規則,然後應用規則更改。
+0

對於noob問題抱歉,但我如何允許美國東部地區的入境訪問? – user3166745

+0

編輯添加細節找到正確的SG和如何讓所有的80. – Winfield

+0

我已經試過,但它不工作。 – user3166745

相關問題