我是AWS的新手,一直在试验NACL规则。我通过Amazon VPC NACL default rules evaluation order了解了NACL规则是如何工作的。
我在一个带有弹性IP的公共子网中创建了一个测试EC2实例(用NGINX)。我已经将EC2添加到默认的安全组中,它允许所有端口上的所有通信量。我最初将NACL配置为阻塞所有通信量。这很好,因为我无法将SSH放入或HTTPS我的实例中。我的目标是让0.0.0.0/0 HTTP端口80进入我的实例。
了解到NACL是无状态的,我在所有TCP端口上添加了通信到/从0.0.0.0/0。这个效果很好。
现在,我考虑将入站和出站限制在端口80。但是,使用这种方法,我无法访问测试NGINX页面。

我注意到,如果我将出站规则更改为允许所有端口,我就能够访问NGINX页面。我不知道为什么会这样。
下面是新的配置:

我还需要添加临时端口吗?https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html#nacl-ephemeral-ports
发布于 2020-10-11 21:11:32
是。您需要打开临时端口1024-65535 (假设使用Linux服务器)。
您的服务器将在80 (或443)上接收请求,但通过这些临时响应之一发送响应。阻塞对临时端口的出站就是阻塞该响应。
您不需要在出站时打开80 (或443)才能让您的web服务器工作。如果您的web服务器需要向另一个web服务器发出HTTP请求,则只需要打开端口80 (或443) --它很可能需要这样做:调用第三方API。
https://stackoverflow.com/questions/64308951
复制相似问题