首页 > 解决方案 > AWS CloudFormation Application Load Balancer - 如何将 HTTP 侦听器重定向到 HTTPS 侦听器?

问题描述

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

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

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

标签: httpsamazon-cloudformationhttp-redirectelastic-load-balanceraws-load-balancer

解决方案


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


推荐阅读