我已在AWS EC2 Windows实例的tomcat服务器上部署了Web应用程序。但是我无法在公共网络上访问此应用程序。 我已经配置了EC2实例的安全组,以允许来自所有端口上任何IP的请求。但是,当我从本地计算机ping它的公共IP地址时,我没有任何响应。 我还以相同的方式配置了EC2 Linux实例。我可以ping它的公共IP地址。 Windows和Linux实例的配置之间有什么区别吗?
答案 0 :(得分:0)
首先,登录EC2 Windows实例并检查它是否在本地主机上运行?
并检查是否在端口8080上运行,则必须允许Windows Server的内部防火墙将其允许出站以在公共IP上运行
如果它在localhost上运行,请按照以下步骤操作,否则请重新检查tomcat和Windows Server的内部服务器配置。
请检查EC2 Windows实例是否与EC2 Linux实例附有相同的公共子网
如果子网不同,则可能是一个问题,并且如果Internet网关未连接或未配置子网,则是导致问题的原因,并且还检查了当前实例是否已连接公共接口
最主要的是,您需要使用EC2 Linux配置的每个相同配置来配置EC2 Windows实例,但操作系统和RDP(3389)和SSH(22)的端口除外
答案 1 :(得分:0)
我建议您检查两个地方:VPC流量规则和Windows防火墙。
VPC流量规则
默认情况下,AWS会阻止ping请求。因此,最好确保它已正确打开(安全组和网络ACL):首先,在与您的EC2实例相关联的安全组中允许ICMP协议。
如果ICMP已打开,请确保正确设置了源IP(您的公共IP地址或任何IP地址)。
您可以在子网的网络ACL中进行检查。
Windows防火墙
我遇到Windows内部防火墙阻止ping请求的情况。为了解决这个问题,您可以登录EC2实例并允许ping请求。您可以按照Microsoft指南here
希望这些信息可以帮助您解决问题。 Read here for more information about configuring VPC, subnets and traffic rules。