为 TCP 传递配置环境的负载均衡器 - AWS Elastic Beanstalk

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

为 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 会为您更新安全组配置。