为什么我需要允许EC2安全组中的`All TCP`访问我的应用程序?

时间:2018-09-21 21:15:52

标签: ruby-on-rails amazon-web-services amazon-ec2

我有一个在EC2实例中运行的Rails服务器,并且我使用bundle exec rails server --binding=0.0.0.0启动了该服务器。有人可以解释为什么我需要在EC2安全组中允许此操作后才能访问该网站吗?

All TCP TCP 0 - 65535 0.0.0.0/0

以前,我的安全组中已经有HTTPSSHHTTPS入站和出站。我希望当我使用http://ec2-public-ip:3000访问该站点时,入站/出站具有HTTP就足够了。

除了说明之外,我还应该添加什么规则,以便避免在安全组中允许All TCP?我认为这是不好的做法?

谢谢你, 好的Sabeni

2 个答案:

答案 0 :(得分:0)

该安全组规则将打开所有端口上的所有TCP通信。您正在使用3000的非标准端口,并且尚未在任何其他安全组规则中显式打开该端口。如果您将其更改为All TCP TCP 3000 0.0.0.0/0,则无需打开服务器上的所有其他端口以访问Internet流量即可使用。

您的其他规则打开了以下端口:

SSH: 22
HTTP: 80
HTTPS: 443

答案 1 :(得分:-1)

我只是很好奇,http://ec2-public-ip:3000并不意味着您正在连接端口3000吗?默认情况下,HTTP是80,HTTPS 443和SSH是22。

0.0.0.0/0仅表示您将允许连接任何地址。