我们在亚马逊的Beanstalk上运行了一个系统。 我们希望仅限制服务器访问HTTPS。 在环境设置上阻止HTTP时 - 它会阻止通过beanstalk DNS进行访问。 但是,如果有人知道任何服务器的公共IP(或名称),他可以直接通过HTTP访问它们。似乎LB将请求转发到端口80,因此我们无法更改安全组并删除端口80。 有一种简单的方法,限制HTTP访问只能从LB? 感谢
答案 0 :(得分:1)
您应该可以通过EC2 Security Groups执行此操作,这是一个Elastic Beanstalk环境属性。
默认情况下,这允许从任何IP地址连接到端口80,但您可以删除该规则或将其替换为您自己的IP地址(用于测试目的)。
如果失败,您可以在应用程序级别将所有HTTP流量重新路由到HTTPS,或者只是测试CGI属性* server_port_secure *并拒绝回答。
答案 1 :(得分:1)
是的,您需要打开http / 80才能进行运行状况检查。您可以选择将所有其他请求(健康检查URL除外)重定向到使用https - 这样虽然端口已打开,但您“不会以不安全的方式提供任何数据”。
答案 2 :(得分:1)
您至少有两个选择:
1 - 设置允许仅从Load Balancer访问端口80的安全组策略。重要!!!请勿在实例的安全组中使用负载平衡器IP。请改用负载均衡器安全组ID。
2 - 从实例中删除公共IP。如果所有EC2实例都具有私有IP并且ELB具有公共IP,则应该是好的。