【问题标题】:Amazon EC2 instance - Play Framework connectivityAmazon EC2 实例 - Play 框架连接
【发布时间】:2013-04-18 17:58:37
【问题描述】:

我创建了一个 EC2 实例并添加了所有 TCP 和 UDP 端口。 ICMP 也...用端口 9000 和 80 启动了我的游戏应用程序,但都没有成功。应用程序启动,我可以从实例连接到它,但我无法从外部连接到它。

telnet instance_dns_name 9000 失败,而 telnet instance_dns_name 3389 有效。

我不知道我错过了什么。同样的问题也发生在微软的 Azure 中。可能是关于该地区的吗?

【问题讨论】:

  • play是否默认绑定到IP 127.0.0.1?
  • 我不知道。它似乎绑定到这个:[info] play - Application started (Prod) [info] play - Listening for HTTP on /0:0:0:0:0:0:0:0:9000
  • 我为 127.0.0.1 安装了 apache 网络服务器。在调用 url: 127.0.0.1 的服务器上工作,但我仍然无法从外部访问它...

标签: amazon-web-services playframework amazon-ec2 connection port


【解决方案1】:

您是否打开了 AWS EC2 安全组页面中的端口并关闭了本地防火墙或打开了必要的端口?您可能需要同时执行这两项操作。

【讨论】:

  • 不,我没有防火墙,这是我的安全组:Ports Protocol Source quick-start-1 0-65535 tcp 0.0.0.0/0 80 tcp 0.0.0.0/0 3389 tcp 0.0.0.0/0 9000 tcp 0.0.0.0/0 0-65535 udp 0.0.0.0/0 53 udp 0.0.0.0/0 -1 icmp 0.0.0.0/0
  • 实例可能有防火墙。我会检查一下。
  • 对于未来的搜索:red-hat 实例确实有防火墙。它被称为“iptables”。为会话关闭它很简单:sudo /etc/init.d/iptables stop
【解决方案2】:

还有一件更重要的事情......

如果您有 DebianUbuntu 的 Amazon EC2 实例 - 默认情况下,它们没有内部防火墙 (iptables)

另一方面,RedHat Enterprise拥有防火墙,如果你想正常工作,你可以在 iptables中打开适当的端口> 或禁用 iptables - 你的选择。

我更喜欢完全禁用 iptables,因为您已经拥有与 iptables 具有相同角色的 Amazon 安全组。

【讨论】:

【解决方案3】:

事实证明,实例也有防火墙。当我将入站规则添加到 windows server 2008 实例的防火墙时,问题解决了。

【讨论】:

  • 如果有人不厌其烦地正确回答了您的问题,将其标记为正确答案会更合适,而不是重述您给出的答案,然后标记您自己的答案正确。
猜你喜欢
  • 2011-06-18
  • 2018-11-28
  • 2019-04-03
  • 2014-09-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-05
相关资源
最近更新 更多