AWS CloudFormation应用程序负载均衡器-如何将HTTP侦听器重定向到HTTPS侦听器?

时间:2018-08-29 20:18:06

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

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

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

此ALB的功能是否只是没有在CloudFormation中实现,而是在控制台中存在?

4 个答案:

答案 0 :(得分:21)

2018年11月19日,亚马逊为Elastic Load Balancer侦听器引入了RedirectConfig。

在下面,您可以找到常见的 HTTP到HTTPS重定向的示例配置。将“ PublicLoadBalancerBackend”替换为您的负载均衡器CF对象。

  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

答案 1 :(得分:3)

目前看来,唯一的选择是编写自定义资源来对其进行管理。看到: https://github.com/jheller/alb-rule 可以实施的可靠示例-或用作您自己实施的基础。 (我与上面的代码无关,只是出于我自己的需要而做)。

答案 2 :(得分:0)

事实证明,redirect到目前为止尚未在CF中实现,可悲的是,AWS期望source

答案 3 :(得分:-3)

他们最近实施了它。看看:Regex