如何使AWS EC2上的Tomcat从本地主机外部可用

如何使AWS EC2上的Tomcat从本地主机外部可用,tomcat,amazon-web-services,amazon-ec2,Tomcat,Amazon Web Services,Amazon Ec2,我正在尝试在AWS Linux服务器上运行Tomcat。我已经安装了Tomcat,并从命令行对其进行了测试,以确保它正常工作,但我无法从其他机器访问它。详情如下: 该实例在安全组中打开了HTTP传入端口80 我已经通过telnett到该端口上的localhost并执行GET请求,验证了它在端口80上运行 我尝试在server.xml中添加公共DNS作为localhost的别名,然后重新启动以确保所做的更改已被拾取 然而,如果我试图通过我的浏览器(实际服务器之外)使用公共DNS访问它,我会得到“无

我正在尝试在AWS Linux服务器上运行Tomcat。我已经安装了Tomcat,并从命令行对其进行了测试,以确保它正常工作,但我无法从其他机器访问它。详情如下:

  • 该实例在安全组中打开了HTTP传入端口80
  • 我已经通过telnett到该端口上的localhost并执行GET请求,验证了它在端口80上运行
  • 我尝试在server.xml中添加公共DNS作为localhost的别名,然后重新启动以确保所做的更改已被拾取
  • 然而,如果我试图通过我的浏览器(实际服务器之外)使用公共DNS访问它,我会得到“无法连接”

    有什么想法吗


    谢谢…

    您打开80端口了吗

    创建实例时,请为其选择一个安全组

    转到左侧的安全组,clic转到实例的组,在inbound选项卡上设置:

    • 创建一个新规则:HTTP
    • 资料来源:0.0.0.0/0
    clic用于添加规则,clic用于应用规则更改


    好的,问题是我还需要编辑和重新启动iptables,正如这里所解释的:

    我已经尝试了文章中提到的一切,我发现我的tomcat使用的是IPv6而不是IPv4,我也修改了IPv4 编辑/etc/sysctl.conf时更改了以下配置:

    net.ipv6.conf.all.disable_ipv6 = 1 
    net.ipv6.conf.default.disable_ipv6 = 1 
    net.ipv6.conf.lo.disable_ipv6 = 1 
    
    保存后,我运行“sudosysctl-p”命令重新加载sysctl。重新启动tomcat后,它将IPv6更改为IPv4。证实

    (之前) $sudo lsof-i:8080-n

    COMMAND  PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    java    4224 tomcat   46u  IPv6  15733      0t0  TCP *:webcache (LISTEN)
    
    COMMAND  PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    java    4414 tomcat   46u  IPv4  16364      0t0  TCP *:webcache (LISTEN)
    
    (之后)$sudo lsof-i:8080-n

    COMMAND  PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    java    4224 tomcat   46u  IPv6  15733      0t0  TCP *:webcache (LISTEN)
    
    COMMAND  PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    java    4414 tomcat   46u  IPv4  16364      0t0  TCP *:webcache (LISTEN)
    

    我希望这对面临类似问题的人有所帮助

    添加上述答案中未提及的内容

    对我来说,允许
    TCP超过8080
    是不存在的。 因此,我创建了新的入站规则,并提供了以下详细信息:

    • 类型:自定义TCP规则
    • 协议:TCP
    • 端口范围:8080
    • 资料来源:任何地方
    这对我有用。
    希望它能帮助别人

    你试过连接到外部IP而不是通过DNS吗?我试过了。我将它与一个弹性IP相关联,并尝试了这一点,但没有成功。好的,结果可能是我还需要编辑和重新启动iptables,如下所述:@Nickchase发布您的解决方案作为答案-它很有帮助。谢谢。完成了,谢谢你的建议,@SRakesh!不,不幸的是,不是这样(这确实需要做,但这并不是需要做的全部。不过,谢谢!如果你在windows上(我知道最初的问题是针对linux的),别忘了关闭windows防火墙。这是有效的,我在过去2小时里一直在寻找这个答案