阻止来自ELB安全组的所有流量,nginx响应为502

时间:2020-05-29 02:35:40

标签: amazon-web-services nginx amazon-elb

希望您能帮助我。 我已经成功配置了一个附加到两个ec2实例的ELB。 ELB侦听端口443并转发到端口80。

一切正常。

我现在想要实现的是阻止除来自ELB的一个以外的所有到ec2实例的流量。

我创建了一个新的安全组:

Accept all from sg-xxxxx

其中sg-xxx是ELB的安全组,其设置为:

Accept HTTPS from 0.0.0.0/0 | 0:*

我转到ec2实例,删除默认的SG并分配新创建的SG以仅接受来自ELB(网络,分配安全组)服务器的流量,响应如下:

<html>

<head>
    <title>502 Bad Gateway</title>
</head>

<body>
    <center>
        <h1>502 Bad Gateway</h1>
    </center>
    <hr>
    <center>nginx/1.15.8</center>
</body>

</html>

我在做什么错了?

谢谢您的帮助!

1 个答案:

答案 0 :(得分:0)

推荐的配置为:

  • 负载均衡器(!MY_CONST)上的安全组,具有:
    • 入站规则:来自define('MY_CONST', ''); if (!MY_CONST) { echo 'MY_CONST is empty'; } 的端口80和443
    • 出站规则:允许所有流量
  • 每个Amazon EC2实例(LB-SG)上的一个安全组,具有:
    • 入站规则:0.0.0.0/0的端口80
    • 出站规则:允许所有流量

也就是说,App-SG应该通过引用另一个安全组来接受来自LB-SG的入站流量。

建议始终允许所有出站流量,因为在您自己的实例上运行的应用程序应该是“受信任的”,除非您特别希望锁定安全性。