首页 > 解决方案 > 在 Amazon EC2 上运行的 Tomcat 在 AWS 之外无法访问

问题描述

已经找到了很多关于这个问题的答案,但似乎没有任何效果。

我有一个 WindowsEC2实例,它在 port 上安装并运行了 tomcat 8 8080。我已经部署了我的应用程序,我可以localhost:8080/myapp通过连接到实例并在浏览器中启动 url 来访问它。

但是,当我尝试通过 aws 之外的家庭网络访问它时,应用程序无法连接。

我知道这是因为security group设置,但我已经涵盖了。即使在我这样做之后

安全组 -> 入站 -> 编辑:

自定义 TCP 规则 : TCP: 8080 : Source Anywhere

问题仍然存在。甚至尝试添加规则,all traffic但仍然没有运气。

另外,值得一提的是,我有一个Elastic IP关联到我的实例。一直在尝试访问elastic.ip:8080/myapp但无法连接。

我还能尝试什么?tomcat的有什么配置xml吗?

标签: amazon-web-servicestomcatamazon-ec2aws-security-groupelastic-ip

解决方案


我会检查“wget”是否工作。如果是,则意味着 tomcat 服务器已启动并正在运行。

wget <hostname>:8080

此外,您家中的计算机可能有防火墙,阻止您检索端口 8080。您可以尝试从您的家用计算机远程登录到端口 8080 的服务器吗?

最后还要检查服务器上的 IPtables:-

iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 8080 -j ACCEPT
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

推荐阅读