AWS允许从Heroku进行入站访问以将转发代理转发到外部API

时间:2014-01-16 18:31:32

标签: ruby-on-rails heroku amazon-web-services proxy amazon-ec2

我在Heroku上运行了一个rails 3.2应用程序,它需要从静态IP地址代理对外部API的请求。由于Heroku不提供弹性IP,并且Proximo太昂贵并且限制了我需要进行的请求数量,因此我使用mod代理在US-East的AWS EC2微实例上设置了一个简单的转发代理。

我可以很好地代理来自我应用的本地环境的请求。但是,来自heroku的请求超时。我的想法是,因为我可以从我的本地环境代理,故障点必须是Heroku和我的代理框之间的连接。我已经尝试了这里给出的答案:Security settings between ec2 and heroku但它没有用。我甚至尝试允许端口80上的所有入站访问(尽管这对于互联网来说很糟糕)。

所以,我的问题是,为了允许Heroku通过它进行代理,我应该为ec2实例启用哪些安全设置?

1 个答案:

答案 0 :(得分:0)

Heroku dynos都在Amazon EC2 us-east-1数据中心内的机器上运行。它们在传出连接上没有任何限制/防火墙。

只要您拥有适当的安全组设置以允许从dynos到您自己的EC2实例的连接,您应该是好的。

听起来你没有正确地打开我们内部1到你的实例的访问权限。仔细检查您的安全组。

有关如何编辑正确安全组的信息:

  1. 检查您为实例使用的安全组。看到价值 您的实例行中的安全组列。这一点很重要 - 我更改了默认组的规则,但我的实例是在 当我遇到类似的问题时,快速启动1组。
  2. 转到“安全组”选项卡,转到“入站”选项卡,在“创建”中选择“HTTP” 新规则组合框,在源字段中保留0.0.0.0/0,然后单击“添加” 规则,然后应用规则更改。