本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为 TCP 传递配置环境的负载均衡器
如果您不希望 AWS Elastic Beanstalk 环境中的负载均衡器对 HTTPS 流量进行解码,可配置安全侦听器将请求原样中继至后端实例。
重要
将负载均衡器配置为中继 HTTPS 流量而不解密存在一个缺点。负载均衡器无法看到加密的请求,因此无法优化路由或报告响应指标。
首先将环境的 EC2 实例配置为终止 HTTPS。在为组合添加负载均衡器之前,在单一实例环境中测试配置,以确保一切正常运行。
将配置文件添加到您的项目,以便在端口 443 上配置监听器,该端口将 TCP 包原样传递至后端实例上的端口 443:
.ebextensions/https-lb-passthrough.config
option_settings:
aws:elb:listener:443:
ListenerProtocol: TCP
InstancePort: 443
InstanceProtocol: TCP
在默认的 Amazon Virtual Private Cloud (Amazon VPC) 中,您还需要向实例的安全组添加规则,以允许端口 443 上来自负载均衡器的入站流量:
.ebextensions/https-instance-securitygroup.config
Resources:
443inboundfromloadbalancer:
Type: AWS::EC2::SecurityGroupIngress
Properties:
GroupId: {"Fn::GetAtt" : ["AWSEBSecurityGroup", "GroupId"]}
IpProtocol: tcp
ToPort: 443
FromPort: 443
SourceSecurityGroupName: { "Fn::GetAtt": ["AWSEBLoadBalancer", "SourceSecurityGroup.GroupName"] }
在自定义 VPC 中,Elastic Beanstalk 会为您更新安全组配置。