AWS ALB 侦听器 - https 和 http

AWS ALB listeners - both https and http

我在 https/443 上有一个带侦听器的 ALB,它将请求转发到附加到 Fargate 服务的目标组。

此 ALB 对 Internet 开放,也是具有一些其他内部服务的特殊 VPC 的一部分,具有内部域 (xxx.local)。

我想使用 xxx.local 从 VPC 内部调用 alb,但我想允许它成为 http/8000 请求。

当我在 http/8000 上添加另一个将请求转发到同一目标组的侦听器时 - 它不起作用。如果我将转发规则替换为重定向规则 https/443,它仍然不起作用。

任何帮助将不胜感激!

已编辑:添加了下图 - 两个听众都转发到同一组

我已经使用 cloudformation 堆栈创建了所有资源,这里是相关部分。我已将其更改为 2 个 TG,但仍然只有 443 可用... 这里是堆栈的相关代码:

  TargetGroup1:
    Type: AWS::ElasticLoadBalancingV2::TargetGroup
    Properties:
      Name: TargetGroup1
      Protocol: HTTP
      Port: 8000
      TargetType: ip
      ...
  TargetGroup2:
    Type: AWS::ElasticLoadBalancingV2::TargetGroup
    Properties:
      Name: TargetGroup2
      Protocol: HTTP
      Port: 8000
      TargetType: ip
      ...

  Listener443:
    Type: AWS::ElasticLoadBalancingV2::Listener
    DependsOn:
      ...
    Properties:
      Certificates:
        ...
      DefaultActions:
        - TargetGroupArn: !Ref 'TargetGroup1'
          Type: 'forward'
      LoadBalancerArn: !Ref 'TheAlb'
      Port: 443
      Protocol: HTTPS
      SslPolicy: ELBSecurityPolicy-2016-08
  Listener8000:
    Type: AWS::ElasticLoadBalancingV2::Listener
    DependsOn:
      ...
    Properties:
      DefaultActions:
        - TargetGroupArn: !Ref 'TargetGroup2'
          Type: 'forward'
      LoadBalancerArn: !Ref 'TheAlb'
      Port: 8000
      Protocol: HTTP

  FargateService:
    Type: AWS::ECS::Service
    DependsOn:
      ...
    Properties:
      ...
      LoadBalancers:
        - ContainerName: ContainerName
          ContainerPort: ContainerPort
          TargetGroupArn: !Sub
            - "arn:aws:elasticloadbalancing:${AWS::Region}:${AWS::AccountId}:${tgFullName}"
            - tgFullName: !GetAtt 'TargetGroup1.TargetGroupFullName'

        - ContainerName: ContainerName
          ContainerPort: ContainerPort
          TargetGroupArn: !Sub
            - "arn:aws:elasticloadbalancing:${AWS::Region}:${AWS::AccountId}:${tgFullName}"
            - tgFullName: !GetAtt 'TargetGroup2.TargetGroupFullName'


创建第二个目标组并编辑 8000 侦听器以改为使用该目标组。在向导期间,它只会创建 1 个目标组