我正在尝试为ALB编写CloudFormation模板,但遇到了一个问题:我想将ALB的HTTP监听器流量重定向到HTTPS监听器,但文档中只提到了转发/重定向到目标组。
我知道可以使用Web界面(AWS控制台)实现此目标,但我不想这样做。同时,在服务器上处理它也不行。
这个ALB特性在CloudFormation中是否没有被实现,但在控制台中存在?
我正在尝试为ALB编写CloudFormation模板,但遇到了一个问题:我想将ALB的HTTP监听器流量重定向到HTTPS监听器,但文档中只提到了转发/重定向到目标组。
我知道可以使用Web界面(AWS控制台)实现此目标,但我不想这样做。同时,在服务器上处理它也不行。
这个ALB特性在CloudFormation中是否没有被实现,但在控制台中存在?
2018年11月19日,亚马逊为弹性负载均衡监听器引入了RedirectConfig。该监听器类型也用于应用程序负载均衡器(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/zh_cn/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-redirectconfig.html
关于Listener Action的CloudFormation文档: https://docs.aws.amazon.com/zh_cn/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-defaultactions.html
目前看来唯一的选择是编写自定义资源来管理它。请参见:https://github.com/jheller/alb-rule,这是一个很好的示例,可以用作实现的基础或直接使用。(我与上述代码没有关联 - 只是为了满足自己的需求而找到了它)