在 Application Load Balancer 上配置多个 SSL 证书
Posted
技术标签:
【中文标题】在 Application Load Balancer 上配置多个 SSL 证书【英文标题】:Config for multiple SSL Certificates on Application Load Balancer 【发布时间】:2019-02-17 06:30:49 【问题描述】:我想直接在我的 eb 扩展文件中为应用程序负载均衡器配置多个 ssl 证书,但无法在我的配置下方设置多个 ARN:
- namespace: aws:elbv2:listener:443
option_name: SSLCertificateArns
value: 'arn:aws:acm:eu-west-1:xxx' # or 'arn:aws:acm:eu-west-1:xxx,arn:aws:acm:eu-west-1:yyy'
https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/command-options-general.html#command-options-general-elbv2-listener-default > SSLCertificateArns 只接受一个 ARN
我尝试在值中用逗号分隔 arn,但出现此错误
Updating Load Balancer listener named: arn:aws:elasticloadbalancing:eu-west-1:xxx failed Reason: Up to '1' certificate ARNs can be specified, but '2' were specified (Service: AmazonElasticLoadBalancingV2; Status Code: 400; Error Code: TooManyCertificates; Request ID: xxx
我可以手动添加 SSL 证书,但在每次部署时都会创建一个新环境(以及一个应用程序负载均衡器),因此我的配置会丢失。
您找到解决此问题的方法了吗?或解决方法?
【问题讨论】:
AWS 负载均衡器不支持多个 SSL 证书。你想完成什么? @JohnHanley 是的,现在支持它aws.amazon.com/blogs/aws/new-application-load-balancer-sni 谢谢。我的立场是正确的。 【参考方案1】:感谢 AWS 支持,这里有一个等待正式实施的解决方法:创建一个 ebextensions 配置文件,如下所示:
Resources:
AddingSSLCert2:
Type: "AWS::ElasticLoadBalancingV2::ListenerCertificate"
Properties:
ListenerArn: "Ref" : "AWSEBV2LoadBalancerListener443"
Certificates:
- CertificateArn: "your-arn"
【讨论】:
如果你得到名为 '...' 的堆栈中止操作。当前状态:'CREATE_FAILED' 原因:未能创建以下资源:[AddingSSLCert2] 确保证书与负载均衡器位于同一区域。作为故障排除提示,使用额外的 arn 作为唯一证书创建一个新环境,以获得更好的错误消息以上是关于在 Application Load Balancer 上配置多个 SSL 证书的主要内容,如果未能解决你的问题,请参考以下文章
AWS Application Load Balancer 将所有标头转换为小写
Socket.io + Nginx + AWS Application Load Balancer 连接在建立之前关闭
AWS - ECS + Application Load Balancer的思考
AWS Application Load Balancer 向不健康的目标组/实例发送请求