无法通过公共 ip 访问 EC2 实例上的站点

use*_*725 12 windows amazon-ec2

我有带有 windows 2008 服务器的 Amazon EC2 微型实例,并在那里部署了一个示例 Web 应用程序,该应用程序使用 java 并部署在 tomcat 7 服务器上。我能够在实例上本地访问它,但是当我尝试在 AWS 实例之外访问它时,可以说从我的家用计算机使用实例的 AWS 公共 DNS/公共 IP 地址/弹性 IP 地址,它给了我“网页是无法使用”。

我在这个论坛上遇到了很多类似的问题,我想我已经完成了他们要求做的所有设置,但仍然没有成功。

这是我所做的/确认的。

1. localhost 工作,因此应用程序侦听端口 80。

2.为我的实例使用的安全组下的每个人添加了端口 80 上 HTTP 的入站规则。

3.检查 windows 实例上的防火墙设置,确保端口 80 没有被阻止。

4.尝试关闭防火墙,但没有成功。

如果有人可以帮助我,我将不胜感激。

谢谢,NS

小智 6

当我在 Windows Server 2012 ec2 实例上安装 JetBrains YouTrack 时,我遇到了类似的令人沮丧的问题。对我有用的是打开 java专门使用的 Windows 防火墙端口并禁用 World Wide Publishing 服务端口。我还必须在 LocalSystem 帐户而不是默认帐户下运行 YouTrack 服务。

尝试这个:

  • 如果正在使用,请关闭 IIS 中的默认网站

  • 运行netstat -a -b以发现 java.exe 试图绑定到的端口,例如:

    TCP 0.0.0.0:80 WIN-9NFIG6IEPT6:0 聆听 [java.exe]

    TCP 127.0.0.1:49306 WIN-9NFIG6IEPT6:49307 已建立 [java.exe]

  • 打开服务控制管理器并右键单击您的服务并打开属性对话框。在“登录身份”选项卡上,选择“本地系统帐户”作为运行服务的帐户。此用户必须是管理员,这一点很重要

  • 我强烈建议重新打开防火墙。
  • 打开防火墙入站规则选项卡并禁用万维网服务 (HTTP-In) 规则
  • 使用 TCP 端口 80 和它可能需要的任何其他端口为 Tomcat 创建一个新规则。

  • 保存规则并从服务器外部测试您的 url。


小智 1

您可能错误配置了网络服务器。您可以通过以下方式连接到服务器来测试:

telnet $IP 80
Run Code Online (Sandbox Code Playgroud)

如果没有收到错误,则可以连接。在这种情况下,您没有正确设置网络服务器。