20

我正在尝试为 ALB 编写 CloudFormation 模板,但卡在了我想将 ALB 的 HTTP 侦听器的流量重定向到 HTTPS 侦听器的点上。文档仅提及转发/重定向到目标组。

我知道使用 Web 界面(AWS 控制台)是可以实现的,我想避免这种情况。在服务器上处理它对我来说也是不行的。

这个 ALB 的功能是否根本没有在 CloudFormation 中实现,但存在于控制台中?

4

4 回答 4

45

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

于 2018-11-27T11:32:15.477 回答
4

看起来现在唯一的选择是编写一个自定义资源来管理它。请参阅: https ://github.com/jheller/alb-rule 以获得一个可靠的示例来实现 - 或用作您自己实现的基础。(我与上面的代码没有从属关系 - 只是因为我自己需要做同样的事情而发现)

于 2018-10-03T15:28:23.347 回答
0

事实证明,到目前为止,CF 中还没有实现,遗憾的是,AWS- sourceredirect是可以预期的。

于 2018-08-30T11:23:43.327 回答
-4

他们最近实施了它。看看:https ://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_RedirectActionConfig.html

于 2018-09-20T13:45:15.687 回答