我选择的例子如下:
Basic 64-bit Microsoft Windows Server 2008 (AMI Id: ami-d9e40db0)
Microsoft Windows 2008 R1 SP2 Datacenter edition and 64-bit architecture.
我已经安装了 Tomcat + 应用程序,并且当我通过 IE 访问本地 IP(在 EC2 实例中)时能够看到该网站。
但是,当我尝试以如下方式访问它时:
* the assigned Elastic IP
* the ec2-999-999-999-999.compute-1.amazonaws.com
无论是从 EC2 实例本身还是从外部,它都不起作用。IE 说:Internet Explorer 无法显示网页
我试过了:
* disabling the Firewall -> no luck
* waiting for a bit -> no luck
我也无法 ping 分配了弹性 IP 的机器。
允许的连接(如亚马逊的管理控制台所示)如下:
Connection Method Protocol From Port To Port Source (IP or group)
SSH tcp 22 22 0.0.0.0/0
RDP tcp 3389 3389 0.0.0.0/0
DNS tcp 53 53 0.0.0.0/0
DNS udp 53 53 0.0.0.0/0
HTTP tcp 80 80 0.0.0.0/0
答案1
我明白了……我没有禁用全部Windows 防火墙!
Windows Server 2008 中有 3 个
域名简介
私人档案
公开资料
禁用每个功能均可使其工作...当然,在生产时我会适当地设置这些...
答案2
您不应该禁用防火墙。这会危及您的应用程序和服务器虚拟机的安全性。相反,请修改 Windows 服务器入站防火墙规则以允许特定端口上的传入流量。
我在使用 Windows Server 2012 时遇到了类似的问题。除了拥有正确的安全组设置之外,还必须手动修改 Windows Server 上的防火墙规则。
我在这里记录了安全组设置和防火墙规则: http://abhirampal.com/2015/08/04/firewall-config-for-java-web-app-hosted-on-aws-ec2-windows-2012-server/
注意:您的生产环境设置可能比链接网页上列出的设置更为严格。