Passer au contenu

Comment éviter une boucle de redirection lorsque je place un équilibreur de charge devant une instance Lightsail ?

Lecture de 4 minute(s)
0

Je crée une boucle de redirection lorsque je place un Application Load Balancer d’Elastic Load Balancing (ELB) ou un équilibreur de charge Amazon Lightsail devant mon instance WordPress Amazon Lightsail.

Brève description

Exemple de scénario

Vous avez utilisé l'outil de configuration Bitnami HTTPS bncert pour configurer la redirection sur votre instance WordPress Lightsail. L'instance redirige de HTTP vers HTTPS et d'un domaine non www vers un domaine www. Vous avez configuré le DNS de sorte que les noms de domaine (exemple.com et www.exemple.com) pointent vers l'adresse IP de l'instance Lightsail, comme illustré dans l'exemple suivant :

http://exemple.com > instance Lightsail > https://exemple.com > instance Lightsail > 200 OK

Vous avez configuré un Application Load Balancer devant cette instance et vous avez pointé le domaine vers l’Application Load Balancer.. Cette configuration crée une boucle de redirection car les instances Lightsail reçoivent toujours des requêtes sur le port HTTP 80 et sont redirigées vers https://example.com.

exemple.com > http://xyz.ap-south-1.elb.amazonaws.com > http://your_lightsail_IP_address > https://exemple.com > https://xyz.ap-south-1.elb.amazonaws.com > http://your_lightsail_IP_address

Résolution

Équilibreurs de charge Lightsail

Pour éviter une boucle de redirection, utilisez uniquement une redirection autre que www vers www sur l'instance. Effectuez une redirection HTTP vers HTTPS sur l'équilibreur de charge Lightsail.

Étape 1 : Reconfigurer bncert

1.    Pour utiliser l'outil bncert, exécutez la commande suivante :

sudo /opt/bitnami/bncert-tool

2.    Pour Entrer votre nom de domaine principal et un autre nom de domaine, entrez un domaine qui pointe déjà vers l'instance Lightsail. Entrez également un sous-domaine www de ce domaine.

3.    Pour Activer la redirection HTTP vers HTTPS, choisissez N. Cela désactive la redirection HTTP vers HTTPS.

4.    Pour Activer la redirection non-www vers www, choisissez Y.

5.    Pour Activer la redirection www vers non-www, choisissez N.

6.    Vérifiez les modifications, saisissez Y, puis appuyez sur Entrée.

Pour en savoir plus, consultez la section Étape 5 : Activez le protocole HTTPS sur votre instance WordPress dans la documentation Amazon Lightsail.

Étape 2. Créer un équilibreur de charge Lightsail avec redirection de HTTP vers HTTPS

1.    Créez un équilibreur de charge Lightsail, puis attachez votre instance à ce dernier.

2.    Créez un certificat SSL/TLS pour exemple.com et www.exemple.com. Remplacez les noms de domaine et de sous-domaine par les noms de votre domaine et de votre sous-domaine.

3.    Pour activer l'écouteur TLS, associez le certificat SSL/TLS à l'équilibreur de charge Lightsail.

4.    Dans la section Protocole de l'équilibreur de charge Lightsail, activez l'option de direction pour activer la redirection HTTP vers HTTPS.

Désormais, le nom DNS de l'équilibreur de charge Lightsail est redirigé vers le sous-domaine www de l'équilibreur de charge.

Étape 3 : Mettre à jour le DNS

Dans la configuration DNS, pointez exemple.com et www.exemple.com vers le nom DNS de l'équilibreur de charge Lightsail.

Application Load Balancer

Pour les Application Load Balancer situés devant l'instance Lightsail, conservez la redirection HTTP vers HTTPS uniquement sur l'instance Lightsail.

1.    Ouvrez la console Amazon Elastic Compute Cloud (Amazon EC2).

2.    Sous Équilibrage de charge, choisissez Groupes cibles.

3,    Choisissez Créer un groupe cible.

4.    Créez des groupes ciblespour les ports 80 et 443 nommés tg-80 et tg-443.

5.    Pour le type de cible, choisissez IP.

6.    Pour Enregistrer les cibles, Réseau, choisissez Autre adresse IP privée, puis spécifiez l'adresse IP de l'instance Lightsail.

7.    Créez un Application Load Balancer. Créez un écouteur de route sur le port 80 vers le groupe cible tg-80 et un écouteur sur le port 443 vers le groupe cible tg-443.

8.    Mettez à jour l'enregistrement DNS pour exemple.com et www.exemple.com pour qu'il pointe vers le nom DNS de l'Application Load Balancer.

Avec cette configuration, l'Application Load Balancer transmet les requêtes HTTPS à Amazon Lightsail via HTTPS. Vous recevez donc une réponse 200 OK.

AWS OFFICIELA mis à jour il y a 2 ans