【问题标题】:Fail to open ports on AWS using security groups无法使用安全组在 AWS 上打开端口
【发布时间】:2017-12-27 16:41:10
【问题描述】:

这是我与 EC2 实例关联的安全组:

Aws Security Group

如果我在端口 80、8080、8888 上启动服务侦听,它可以工作,但在 9000、9042、9999 上失败。

我没有找到任何具有此限制的文档。

有什么想法吗?

【问题讨论】:

  • 来源必须是 0.0.0.0/32

标签: amazon-web-services amazon-ec2


【解决方案1】:

删除现有规则并将以下规则添加到您的安全组以使其正常工作。(前提是您的应用程序在这些端口中正常服务)

规则 1:TCP , 9000, 0.0.0.0/0

规则 2:TCP , 9042, 0.0.0.0/0

规则 3:TCP , 9999, 0.0.0.0/0

【讨论】:

  • 对不起,如果我没有说清楚,但我尝试将所有端口打开到公共 IP。我也尝试打开特定端口作为您的答案,但没有成功。
  • 当您的应用程序配置为端口 9000 时,您能否检查以下命令的输出。sudo netstat -anp |grep 9000
  • tcp6 0 0 0.0.0.0:9042 :::* LISTEN 32119/java
  • 猜猜你用端口 9042 做了 netstat。那很好。进程 id 32119 是否属于您的服务?另外请告诉我您使用什么网址来访问您的服务?
【解决方案2】:

可能的解决方案

我假设来源是您的 ip/您公司的 ip。

您应该始终set your security group to be as specific as possible。 在这种情况下,您应该具有以下入站规则:

8.8.8.8/32 是你的 ip 的占位符

TCP 80 8.8.8.8/32

TCP 8080 8.8.8.8/32

TCP 8888 8.8.8.8/32

TCP 9000 8.8.8.8/32

TCP 9042 8.8.8.8/32

TCP 9999 8.8.8.8/32

确保实例/应用程序正在侦听所需的端口等。

还要确保 9000,9042,9999 上的应用程序在收到请求时不会尝试访问任何内容,并且无法访问(由于 sg 出站限制或连接问题)。尝试根据您在尝试连接时得到的error 确定出了什么问题(基于我假设 http 流量的端口)。

澄清您的问题

(据我所知)在您提供的上下文中对 sg 没有任何限制。我使用具有相同规则的组和具有 20 条规则的组而没有问题。

There are limitation on the amount of groups and/or rules.

【讨论】:

    猜你喜欢
    • 2020-12-10
    • 1970-01-01
    • 2017-09-24
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 2018-03-29
    • 1970-01-01
    相关资源
    最近更新 更多