【问题标题】:AWS CloudFormation Application Load Balancer - how to redirect HTTP listener to HTTPS listener?AWS CloudFormation Application Load Balancer - 如何将 HTTP 侦听器重定向到 HTTPS 侦听器?
【发布时间】:2019-02-04 17:12:26
【问题描述】:

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

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

这个 ALB 的功能是不是根本没有在 CloudFormation 中实现,而是存在于 Console 中?

【问题讨论】:

    标签: https amazon-cloudformation http-redirect elastic-load-balancer aws-load-balancer


    【解决方案1】:

    2018 年 11 月 19 日,Amazon 为 Elastic Load Balancer 侦听器推出了 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

    【讨论】:

    • 如何在弹性beantalk环境中为应用LB做这个?
    • 我是否需要将此块包装在条件中以仅在选择“应用程序”时执行,因为我的 CFT 根据传递的参数创建 ALB 或 NLB。如果出现“网络”,AWS 会自动为我忽略它吗?
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      事实证明,redirect 目前还没有在 CF 中实现,遗憾的是,AWS 会发生什么 - source

      【讨论】:

        【解决方案4】:

        【讨论】:

        • July 2018 以来,它是他们API 的一部分,如果我没记错的话,但正如我所问的问题所指的那样,CloudFormation 中仍然不存在。
        猜你喜欢
        • 2021-12-28
        • 2017-09-28
        • 1970-01-01
        • 2020-08-31
        • 2018-04-28
        • 2019-04-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多