web-dev-qa-db-fra.com

AWS CloudFormation Application Load Balancer - Comment rediriger l'écouteur HTTP vers l'écouteur HTTPS?

J'essaie d'écrire un modèle CloudFormation pour ALB, mais je suis resté bloqué sur le point où je voudrais rediriger le trafic du programme d'écoute HTTP d'ALB vers un programme d'écoute HTTPS. Les documents mentionnent uniquement le transfert/la redirection vers le groupe cible.

Je suis conscient que cela est réalisable à l'aide de l'interface Web (AWS Console), ce que je veux éviter. Aussi, le gérer sur le serveur est un non-départ pour moi.

Cette fonctionnalité d'ALB n'est-elle simplement pas implémentée dans CloudFormation, mais existe-t-elle dans la console?

7
the0ffh

Le 19 novembre 2018, Amazon a présenté le logiciel RedirectConfig pour le programme d'écoute Elastic Load Balancer.

Vous trouverez ci-dessous un exemple de configuration pour la redirection habituelle HTTP vers HTTPS. Remplacez 'PublicLoadBalancerBackend' par votre objet CF d'équilibreurs de charge.

  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

Documentation Cloudformation sur RedirectConfig:https://docs.aws.Amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-redirectconfig.html

Cloudformation Documentation sur l'action d'écoute: La documentation indique que seule la valeur valide pour Type est forward. Cependant, comme vous pouvez le voir dans l'exemple ci-dessus, redirect fonctionne dans ce cas.

https://docs.aws.Amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-defaultactions.html

12
Martin

Pour l'instant, la seule option est d'écrire une ressource personnalisée pour la gérer. Voir: https://github.com/jheller/alb-rule Pour un exemple solide à implémenter - ou à utiliser comme base pour votre propre implémentation. (Je n'ai aucune affiliation avec le code ci-dessus - je viens de le trouver pour mon propre besoin de faire exactement la même chose)

3
Dan G

Il s’avère que redirect n’est pas implémenté dans les FC pour le moment, ce qu’on attend malheureusement de AWS - source .

0
the0ffh