2013-07-08 43 views
2

我正在开发Amazon EC2上的节点应用程序。一切工作正常,我可以部署到Heroku和Github上,但是在查看在端口5000上运行的实际应用程序(或者我用于应用程序的那个应用程序)时,我不知所措。Amazon EC2 - 通过特定端口访问应用程序。

我试着运行ifconfig它给了我一些公共/私人DNS地址。使用这些作为URL失败。

我是否需要创建一个弹性IP地址?在部署之前是否有一些简单的方法来查看我的应用程序?

回答

1

在AWS中,您需要通过防火墙(安全组)打开端口。 没有必要拥有弹性IP,但是你可以,只要记住不要让IP不连接(因为它会被充电),但是对于附加的IP--它是完全正确的。

转到:
EC2 > Security Groups > 'select your group' > 'tab Inbound' > Add IP > Apply

+0

'添加IP'不是安全组选项之一(请参阅:http://i.imgur.com/sayGKOS.png) – squeezemylime

+0

在下面的字段中键入您的自己的端口,并忽略您刚刚查看的预设(在截图)。 – moka

3

为了访问您的实例特定的端口,你需要在防火墙中打开端口了。我建议专门为您的Node.js服务器创建一个组,以确保该端口不可用于您可能拥有的其他实例。

  1. 转到EC2>安全组
  2. 选择现有安全组或创建一个
  3. 确保SSH是允许入境0.0.0.0/0
  4. 创建一个新的入站自定义TCP规则对于端口5000,允许0.0.0.0/0 Security Group
  5. 单击添加规则
  6. 单击应用规则更改

为了得到你的公共DNS为您的实例,单击EC2>实例,然后单击您的实例,并在信息窗格中向下滚动,直到您看到这一点:

Public DNS

在这个例子中的公共DNS是ec2-23-20-36-91.compute-1.amazonaws.com,因此如果你想要的IP是23.20.36.91。然后您可以连接23.20.36.91:5000ec2-23-20-36-91.compute-1.amazonaws.com:5000

这应该做到这一点。希望这有助于!

+0

试过..它不工作不幸... – squeezemylime

+0

我运行ifconfig得到我的IP地址,添加:5000(按照你的建议后),但它仍然无法找到服务器 – squeezemylime

+0

如果你从你的实例运行ifconfig它会更有可能报告只能从AWS云中的其他实例才能访问的内部IP(如果安全组允许的话)。为了查找您的实例的IP,请查看公共DNS并使用它。我会相应地更新我的答案。 – tbjers