【问题标题】:External access to web application running in EC2 instance - AWS对在 EC2 实例中运行的 Web 应用程序的外部访问 - AWS
【发布时间】:2016-09-01 13:53:32
【问题描述】:

我在带有 Windows Server 的 EC2 VM 中配置并运行了一个 Web 应用程序。在配置实例时,我创建了安全组以允许入站和出站访问:包括 IP 为 0.0.0.0/0 的 RDP、HTTP 和 HTTPS。 我的想法是让它运行并从任何地方访问我的应用程序,只在浏览器中使用它的地址(例如:http://ip:port/my-application/index.html)。但是,我无法从本地计算机访问它,因为它找不到此地址。在 EC2 实例中测试它可以正常工作。

我了解到,一旦您拥有公共 IP 和 DNS,您的计算机就可以通过 Internet 访问,并且实例会将这些信息转换为允许访问它的信息,但我仍然有这个问题。 我错过了什么?

提前致谢。

【问题讨论】:

  • 实际的错误信息是什么? “它找不到这个地址”这句话需要更多的上下文。您确定您使用的是公共 IP(或公共 DNS)而不是私有 IP?听起来您所做的一切都是正确的,尽管您可能还需要在服务器上的 Windows 防火墙中打开端口。
  • 我是用公网IP访问的,报错是浏览器找不到地址。我还需要配置 EC2 防火墙吗?

标签: amazon-web-services amazon-ec2


【解决方案1】:

如果实例不是 EC2 经典实例,您需要添加 Internet 网关才能从 Internet 访问并添加适当的路由。

http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Internet_Gateway.html

【讨论】:

  • 嗨,抱歉耽搁了。我遵循了配置 Internet 网关的文章(我使用了已经创建并与我的实例关联的网关),但我仍然遇到从本地计算机访问我的应用程序的问题。我正在使用从文章中创建的弹性 IP,但浏览器显示该地址需要很长时间才能回答的错误。还有其他提示吗?
【解决方案2】:

您可以尝试使用 --host 0.0.0.0 运行您的服务器 我们在 EC2 实例上的 nodeJs 项目中遇到了类似的情况。只有在我们将 --host 0.0.0.0 添加到 package.json 后,才能从浏览器访问该应用程序

【讨论】:

    【解决方案3】:

    检查您的窗口防火墙规则,它们阻止您远程访问您的应用程序。

    【讨论】:

      猜你喜欢
      • 2020-05-13
      • 2016-12-14
      • 2012-02-06
      • 2023-03-18
      • 1970-01-01
      • 2020-01-12
      • 1970-01-01
      • 2020-09-25
      • 1970-01-01
      相关资源
      最近更新 更多