端口8080拒绝AWS连接

时间:2019-12-03 08:19:41

标签: amazon-web-services curl flask

我有一个EC2实例,其中我在端口8080上运行Flask服务器。

* Running on http://0.0.0.0:8080/ (Press CTRL+C to quit)

我可以运行curl并从我的EC2实例获取响应。

$ curl -X GET '0.0.0.0:8080/fbeac'

但是,我无法使用公共IP / DNS获取响应并运行

$ curl -X GET '3.135.62.118:8080/fbeac'

产生curl: (7) Failed to connect to 3.135.62.118 port 8080: Connection refused。当我尝试使用本地计算机curl时遇到相同的错误。

我的应用程序正在侦听8080端口,该端口是通过运行netstat检查的。

$ netstat -an | grep 8080
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN

此外,我已确保正确设置了安全组。我已经尝试过使用自定义TCP端口8080,所有TCP端口以及(当前)所有流量。我还打开了HTTP / HTTPS端口,以防万一,但是没有运气。

这使我相信这可能是防火墙问题,但是我在Amazon Linux计算机上,默认策略似乎是ACCEPT,我通过运行iptables进行了检查。

$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

还有其他我应该检查的东西还是应该翻转的按钮?

我的AWS实例ID为i-0080c730c4287ca3c

1 个答案:

答案 0 :(得分:0)

我建议检查您的EC2实例security groups中定义了哪些访问规则。您可能需要打开端口8080

此外,请注意,不要在生产中使用flask开发服务器。测试很好,但是您确实应该在生产工作负载中使用uwsgi之类的东西。