【问题标题】:AWS EC2 instance not letting TCP connectionAWS EC2 实例不允许 TCP 连接
【发布时间】:2020-05-30 22:27:03
【问题描述】:

我在 AWS 上创建了一个 EC2 (Windows) 实例。我想在这个 EC2 上的 TCP 端口 7889 上运行一个 TCP 服务器 并希望从外部世界连接到它。

我已经在安全组中编辑了入站流量规则,并从任何地方添加了 7889 的 TCP 规则。

但是很遗憾我的 TCP 客户端套接字无法通过 EC2 实例的公共 ip 到达服务器。

请帮忙。

注意:几年前同样的事情对我有用。我的小搜索显示了一些东西,例如,我需要创建 VPC、公共和私有子网、互联网网关和路由表。是真的吗?这些都是之前不需要的。是新增的吗?

【问题讨论】:

  • 实例除了7886端口是可达的吗?你可以连接它吗? windows的内部防火墙呢?
  • 第一步是确认实例上工作正常。通过登录并尝试与端口 7889(例如curl localhost:7889)建立连接来执行此操作。如果这正常工作,则可能是服务未对外部端口进行竞价,或者防火墙阻止了访问。您的安全配置听起来是正确的。如果您愿意,您可以暂时打开所有连接到 Internet 的端口,以确认安全组不是问题的原因。

标签: amazon-web-services sockets amazon-ec2 tcp


【解决方案1】:

是的,您提到的所有内容都是绝对需要的。 VPC、子网、路由表、互联网网关和EIP都是必需的。

它之前对您有用的原因是您可能已使用默认 VPC 并已配置所有其他组件。即使是现在,您也将在每个 AWS 区域拥有一个默认 VPC,您可以使用它。

但确实需要对事物如何连接和协同工作有基本的了解,因为所有这些组件都非常基础和重要。有关详细信息,请参阅 AWS 文档。

如果所有组件都已配置好,请检查

的输出

netstat -nptl

命令。端口 7999 应该可用并且应该准备好接受任何 IP(即指向 0.0.0.0)

【讨论】:

    【解决方案2】:

    感谢您的回复。正如@Marcin 建议的那样,它是 Windows 内部防火墙。 现在一切正常。

    【讨论】:

      猜你喜欢
      • 2023-01-24
      • 1970-01-01
      • 2016-07-23
      • 2016-12-25
      • 2016-07-21
      • 2018-11-28
      • 2022-11-24
      • 1970-01-01
      • 2020-11-18
      相关资源
      最近更新 更多