Amazon EC2即使应用程序正在运行,也无法访问端口80

时间:2017-03-26 21:05:00

标签: scala amazon-ec2

我的免费套餐EC2包含我的Scala应用程序。该应用程序在端口8080上运行,但我已声明从端口80重定向到端口8080.EC2的安全组包括端口8080和80到所有IP的入站规则。尽管如此,我无法通过浏览器访问该服务。

Outputs from netstat and iptables

Security group

浏览器返回 ec2-35-157-211-142.eu-central-1.compute.amazonaws.com拒绝连接。

如果有人能帮助我,我真的很感激。

感谢。

2 个答案:

答案 0 :(得分:0)

如果您能够在本地连接但不能远程连接,则可能是您没有将服务器绑定到外部接口。要绑定到所有接口,只需使host =“0.0.0.0”类似于以下内容:

对于喷雾:

IO(Http) ! Http.Bind(service, "0.0.0.0", port = 8080)

对于Akka HTTP:

Http().bindAndHandle(route, "0.0.0.0", 8080)

答案 1 :(得分:0)

确保您的EC2实例位于公共子网中。如果没有问题,那么请确保他们分配了公共IP,否则他们将无法从互联网上访问。

如果他们有公共IP,那么您应该检查安全组是否有出站规则允许所有IP的端口(或者至少是您希望允许连接的IP)。如果您有入站规则但没有出站规则,则您的实例无法提供流量,因此请以与入站规则相同的方式定义出站规则。

如果已正确设置,请确保网络ACL允许相同端口的入站/出站规则(当然:它不会拒绝它们)。

我希望这会有所帮助:)。