AWS Beanstalk SSL 负载平衡环境
Posted
技术标签:
【中文标题】AWS Beanstalk SSL 负载平衡环境【英文标题】:AWS Beanstalk SSL Load balanced environment 【发布时间】:2015-08-02 00:44:35 【问题描述】:我试图理解 aws 文档中的一条注释,以便为弹性 beanstalk 应用程序配置 HTTPS。
注释如下:
如果您在任何时候决定使用负载平衡的环境重新部署您的应用程序,您就有可能将端口 443 开放给来自 Internet 的所有传入流量。在这种情况下,请从 .ebextensions 目录中删除配置文件。然后使用 Elastic Beanstalk 管理控制台的配置页面的负载均衡器部分创建负载均衡环境并设置 SSL。
这里是原始文档页面的链接:http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/configuring-https.html#configuring-https-elb
你能帮我理解这个警告吗?
【问题讨论】:
【参考方案1】:这个文档写得不好。
实际上有两种不同的可能性
负载平衡环境:所有流量首先通过负载平衡器,然后到实例。 非负载平衡环境:所有流量都直接通过您的实例。如果所有流量都直接流向实例,您需要向所有人开放您的实例 HTTPS 端口 443
Resources:
sslSecurityGroupIngress:
Type: AWS::EC2::SecurityGroupIngress
Properties:
GroupId: Ref : AWSEBSecurityGroup
IpProtocol: tcp
ToPort: 443
FromPort: 443
CidrIp: 0.0.0.0/0
如果您不这样做,每个人都无法访问您的网站。
如果您的所有流量都通过负载均衡器,您可以将实例安全性更改为仅与其通信。它可以忽略互联网的其余部分。这更安全,因为您的负载均衡器是对所有人开放的。这很重要,因为想象一下 linux 中是否存在一个错误,让某人通过端口 443 通过做一些奇怪的事情来接管你的机器。负载均衡器首先看到它并对其进行标准化,以便您的实例更难受到攻击。
【讨论】:
感谢您的回答艾略特。我明白那个。但是,我不明白为什么您在重新部署负载平衡环境期间冒着打开端口 443 的风险。重新部署期间发生了什么? 我相信“使用负载均衡器重新部署”意味着您正在将配置从非负载均衡更改为平衡,在这种情况下,您需要更改实例配置以关闭 443 与外界。 如果是这种情况,那么我们将从非负载平衡(= 开放 443 端口)转到负载平衡(= 隐藏 443 端口)。那他们为什么会警告你你的 443 端口会暴露呢?以上是关于AWS Beanstalk SSL 负载平衡环境的主要内容,如果未能解决你的问题,请参考以下文章
VPC 中的 AWS beanstalk EC2 实例且没有负载平衡
AWS Elastic Beanstalk 负载均衡器 SSL/HTTPS 不起作用
在 AWS Elastic Beanstalk 上安装通配符 SSL 证书
AWS Elastic Beanstalk - NodeJS:在没有 Beanstalk 负载均衡器的情况下从 Letsencrypt 获取证书 SSL