我有一个在EC2实例中运行的Rails服务器,并且我使用bundle exec rails server --binding=0.0.0.0
启动了该服务器。有人可以解释为什么我需要在EC2安全组中允许此操作后才能访问该网站吗?
All TCP TCP 0 - 65535 0.0.0.0/0
以前,我的安全组中已经有HTTP
,SSH
和HTTPS
入站和出站。我希望当我使用http://ec2-public-ip:3000
访问该站点时,入站/出站具有HTTP
就足够了。
除了说明之外,我还应该添加什么规则,以便避免在安全组中允许All TCP
?我认为这是不好的做法?
谢谢你, 好的Sabeni
答案 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仅表示您将允许连接任何地址。