Comment utiliser un Application Load Balancer pour rediriger un domaine vers un autre ?

Lecture de 4 minute(s)
0

Je souhaite utiliser un Application Load Balancer pour rediriger un domaine vers un autre domaine.

Brève description

Le service Application Load Balancer prend en charge la redirection du protocole HTTP vers HTTPS ainsi que des noms de domaine. Si votre domaine pointe vers un Application Load Balancer, utilisez l’Application Load Balancer pour configurer le domaine.

Remarque : Il est recommandé d’utiliser l’Application Load Balancer plutôt que Amazon Simple Storage Service (Amazon S3) pour configurer le domaine.

Résolution

Remarque : Si vous recevez des messages d’erreurs lors de l’exécution des commandes de l’interface de la ligne de commande AWS (AWS CLI), vérifiez que vous utilisez bien la version la plus récente d’AWS CLI.

Si vous utilisez un Application Load Balancer dans le cadre de votre configuration, vous pouvez vous en servir pour rediriger un domaine vers un autre :

  1. Ouvrez la console Amazon Elastic Compute Cloud (Amazon EC2).
  2. Dans le volet de navigation, sous Équilibrage de charge, choisissez Équilibreurs de charge.
  3. Sélectionnez votre équilibreur de charge, puis sélectionnez l’onglet Écouteurs.
  4. Choisissez Afficher/modifier les règles pour l’écouteur de l’équilibreur de charge dont vous souhaitez vous servir.
  5. Cliquez sur l’icône Ajouter une règle (signe plus).
  6. Choisissez Insérer une règle.
  7. Choisissez Ajouter une condition.
  8. Dans la section conditions (IF), choisissez Ajouter une condition. Ensuite, procédez comme ceci :
    Choisissez En-tête d’hôte, puis saisissez votre nom d’hôte (par exemple, exemple.com).
    Pour enregistrer, cliquez sur l’icône en forme de coche.
  9. Dans la section Actions (THEN), choisissez Ajouter une action. Ensuite, procédez comme ceci :
    Choisissez Rediriger vers.
    Spécifiez le protocole et le port, selon votre cas d’utilisation.
    Remplacez l’hôte, le chemin et la requête d’origine par l’hôte, le chemin et la requête personnalisés.
    Dans le champ Hôte, saisissez exemple2.com.
    Dans les champs Chemin et Requête, conservez les valeurs par défaut (sauf si votre cas d’utilisation vous oblige à les modifier).
    Définissez le champ Réponse sur HTTP 301 « Déplacé définitivement » ou HTTP 302 « Trouvé ».
    Pour enregistrer, cliquez sur l’icône en forme de coche.
    La section THEN s'affiche :
    Rediriger vers https://exemple2.com:443/#{path}?#{query}
    Code de statut : HTTP_301
  10. Choisissez Enregistrer.

Remarque : Si les deux domaines pointent vers le même Application Load Balancer, effectuez l’une des tâches suivantes :

  • Obtenez des certificats distincts pour les deux domaines.
  • Utilisez un certificat SAN (Subject Alternative Name) pour valider les domaines.

Voici comment vérifier que la redirection fonctionne :

1.    Dans AWS CLI, utilisez la fonction curl suivante :

curl
    -Iv https://example.com -L
* Rebuilt URL to: https://example.com/
. . .
* Connected to example.com (1.2.3.4) port 443 (#0)
<SSL handshake>
 > Host: example.com.   ------> Host name is example.com
 > User-Agent: curl/7.61.1
 >
     Accept: */*>
 * Connection state changed (MAX_CONCURRENT_STREAMS == 128)!
 < HTTP/2 301       ------> ALB does redirection
 < server: awselb/2.0
 < date: Fri, 06 Mar 2020 09:18:33 GMT
 < content-type: text/html
 < content-length: 150

 < location: https://example2.com:443/.   ----> redirected to "example2.com"
 <
 * Issue another request to this URL: 'https://example2.com:443/'. ------> Curl initiates another request that is to example2.com
 *   Trying 34.195.219.169...

 * TCP_NODELAY set
 <SSL handshake>
 > Host: example2.com.   ------> Host name has changed to example2.com
 > User-Agent: curl/7.61.1
 > Accept: */*
 >
 * Connection state changed (MAX_CONCURRENT_STREAMS == 128)!
 <
     HTTP/2 200 ----> We got a response

2.    Dans votre navigateur Internet, saisissez exemple.com et vérifiez que cela vous redirige vers exemple2.com.

Remarque : L’Application Load Balancer prend uniquement en charge les redirections 301 et 302. Ces redirections permettent au client de modifier la méthode HTTP de POST à GET dans les requêtes suivantes. Si vous avez besoin d’une redirection 307, celle-ci doit passer par l’application cible.

Informations complémentaires

Comment rediriger un domaine apex vers son sous-domaine ou tout autre domaine à l’aide d’Amazon S3 et d’Amazon Route 53 ?

Les Application Load Balancers prennent désormais en charge plusieurs certificats TLS avec une sélection intelligente à l’aide de l’indication du SNI (Server Name Indication)

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 9 mois