我正在尝试为 ALB 编写 CloudFormation 模板,但卡在了我想将 ALB 的 HTTP 侦听器的流量重定向到 HTTPS 侦听器的点上。文档仅提及转发/重定向到目标组。
我知道使用 Web 界面(AWS 控制台)是可以实现的,我想避免这种情况。在服务器上处理它对我来说也是不行的。
这个 ALB 的功能是否根本没有在 CloudFormation 中实现,但存在于控制台中?
我正在尝试为 ALB 编写 CloudFormation 模板,但卡在了我想将 ALB 的 HTTP 侦听器的流量重定向到 HTTPS 侦听器的点上。文档仅提及转发/重定向到目标组。
我知道使用 Web 界面(AWS 控制台)是可以实现的,我想避免这种情况。在服务器上处理它对我来说也是不行的。
这个 ALB 的功能是否根本没有在 CloudFormation 中实现,但存在于控制台中?
2018 年 11 月 19 日,Amazon 为 Elastic Load Balancer Listener 引入了 RedirectConfig。此侦听器类型也用于 Application Load Balancer (ALB)。
您可以在下面找到通常的HTTP 到 HTTPS 重定向的示例配置。将“PublicLoadBalancerBackend”替换为您的负载均衡器 CloudFormation 对象。
PublicLoadBalancerHttpRedirectListener:
Type: AWS::ElasticLoadBalancingV2::Listener
DependsOn:
- PublicLoadBalancerBackend
Properties:
DefaultActions:
- RedirectConfig:
Host: "#{host}"
Path: "/#{path}"
Port: 443
Protocol: "HTTPS"
Query: "#{query}"
StatusCode: HTTP_301
Type: redirect
LoadBalancerArn: !Ref 'PublicLoadBalancerBackend'
Port: 80
Protocol: HTTP
关于 RedirectConfig 的 CloudFormation 文档: https ://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-redirectconfig.html
关于侦听器操作的 CloudFormation 文档: https ://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-defaultactions.html
看起来现在唯一的选择是编写一个自定义资源来管理它。请参阅: https ://github.com/jheller/alb-rule 以获得一个可靠的示例来实现 - 或用作您自己实现的基础。(我与上面的代码没有从属关系 - 只是因为我自己需要做同样的事情而发现)
事实证明,到目前为止,CF 中还没有实现,遗憾的是,AWS- sourceredirect
是可以预期的。
他们最近实施了它。看看:https ://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_RedirectActionConfig.html