Acheminez les requêtes HTTPS de plusieurs noms de domaine vers différents serveurs backend via un seul écouteur ALB en utilisant des certificats supplémentaires et des règles de transfert basées sur le domaine.
Exemple de scénario
L'ALB fait correspondre le nom de domaine d'une requête HTTPS entrante au certificat approprié, effectue l'authentification HTTPS, puis achemine la requête vers le serveur backend correct selon les règles de transfert.
Cette rubrique utilise la configuration suivante à titre d'exemple :
Le certificat par défaut de l'écouteur, nommé
default, est associé au nom de domainealiyundoc.com. Le groupe de serveurs par défaut est RS1.Un certificat supplémentaire,
example1, est associé au nom de domainewww.example.com. Les requêtes adressées àhttps://www.example.comsont acheminées vers le groupe de serveurs RS1.Un autre certificat supplémentaire,
example2, est associé au nom de domainewww.example.org. Les requêtes adressées àhttps://www.example.orgsont acheminées vers le groupe de serveurs RS2.
Prérequis
Vous avez créé une instance Application Load Balancer (ALB). Pour plus d'informations, consultez la rubrique Créer et gérer des instances ALB.
Vous avez créé deux groupes de serveurs : RS1 et RS2. Pour plus d'informations, consultez la rubrique Créer et gérer des groupes de serveurs.
Vous avez ajouté des serveurs backend aux groupes de serveurs : une instance ECS nommée ECS01 au groupe RS1 et une autre nommée ECS02 au groupe RS2. Vous avez également déployé vos applications sur ces deux instances ECS.
Vous avez enregistré vos noms de domaine et obtenu les dossiers ICP (Internet Content Provider) correspondants. Pour plus d'informations, consultez les rubriques Enregistrer un nom de domaine sur Alibaba Cloud et Procédure de dossier ICP.
-
Vous avez acheté ou téléchargé les certificats nécessaires dans Certificate Management Service et vous les avez associés à leurs noms de domaine respectifs. Pour savoir comment créer un certificat, consultez la rubrique Activer le protocole HTTPS pour un site web à l'aide d'un certificat commercial. Cette procédure nécessite les certificats suivants :
Un certificat par défaut nommé
defaultassocié au nom de domainealiyundoc.com.Un certificat supplémentaire nommé
example1associé au nom de domainewww.example.com.Un certificat supplémentaire nommé
example2associé au nom de domainewww.example.org.
Étape 1 : Ajouter un écouteur HTTPS
Connectez-vous à la console Application Load Balancer.
Dans la barre de navigation supérieure, sélectionnez la région où l'instance ALB est déployée.
Dans le volet de navigation de gauche, cliquez sur Instances.
Sur la page Instances, repérez l'instance cible et cliquez sur Create Listener dans la colonne Actions.
-
Sur la page Configure Listener, configurez les paramètres suivants et conservez les valeurs par défaut pour les autres. Cliquez ensuite sur Next.
Parameter
Description
Listener Protocol
Sélectionnez HTTPS.
Listener Port
Définissez le port sur 443.
-
Sur la page Configure SSL Certificate, configurez le paramètre suivant et conservez les valeurs par défaut pour les autres. Cliquez ensuite sur Next.
Parameter
Description
Server Certificate
Sélectionnez le certificat par défaut que vous avez préparé, nommé
default. -
Sur la page Select Server Group, configurez le paramètre suivant et conservez les valeurs par défaut pour les autres. Cliquez ensuite sur Next.
Parameter
Description
Server Group
Sélectionnez le groupe de serveurs RS1 que vous avez créé.
Sur la page Configuration Review, vérifiez vos paramètres et cliquez sur Submit.
Étape 2 : Ajouter des certificats supplémentaires
Sur la page Instances, repérez l'instance cible et cliquez sur son ID.
Cliquez sur l'onglet Listener. Repérez l'écouteur HTTPS et cliquez sur Manage Certificates dans la colonne Actions.
Cliquez sur l'onglet Certificates, puis cliquez sur Add EV Certificate.
Dans la boîte de dialogue Add Additional Certificate, sélectionnez le certificat
example1et cliquez sur OK. Répétez cette étape pour ajouter le certificat supplémentaireexample2.
Étape 3 : Configurer les règles de transfert
Sur la page Instances, repérez l'instance cible et cliquez sur son ID.
Cliquez sur l'onglet Listener. Repérez l'écouteur HTTPS et cliquez sur View/Modify Forwarding Rule dans la colonne Actions.
Sur l'onglet Forwarding Rules, cliquez sur Add New Rule.
-
Configurez les deux règles de transfert suivantes et cliquez sur OK.
Si le Domain Name est
www.example.com, alors Forward to RS1. Définissez le paramètre Weight sur 100.Si le Domain Name est
www.example.org, alors Forward to RS2. Définissez le paramètre Weight sur 100.
Étape 4 : Configurer la résolution des noms de domaine
Ajoutez des enregistrements CNAME pour www.example.com et www.example.org afin qu'ils pointent vers le nom DNS public de votre instance ALB.
Connectez-vous à la console Application Load Balancer.
Dans la barre de navigation supérieure, sélectionnez une région.
Repérez l'instance ALB cible et copiez son Domain Name.
-
Suivez les étapes ci-dessous pour ajouter un enregistrement CNAME.
RemarqueSi vos noms de domaine ne sont pas enregistrés auprès d'Alibaba Cloud, vous devez d'abord les ajouter à la console Alibaba Cloud DNS avant de configurer les paramètres DNS. Pour plus d'informations, consultez la rubrique Gestion des domaines. Si votre nom de domaine est enregistré auprès d'Alibaba Cloud, poursuivez avec les étapes suivantes.
Connectez-vous à la console Alibaba Cloud DNS.
Sur la page Public Zone, repérez le nom de domaine cible et cliquez sur Settings dans la colonne Actions.
Sur la page Settings, cliquez sur Add Record.
-
Dans le panneau Add Record, configurez les paramètres suivants pour l'enregistrement CNAME, puis cliquez sur OK.
Parameter
Description
Record Type
Sélectionnez CNAME dans la liste déroulante.
Hostname
Le préfixe de votre nom de domaine, par exemple
www.Query Source
Conservez la valeur par défaut.
Record Value
Saisissez l'adresse CNAME du nom de domaine. Il s'agit du nom DNS de l'instance ALB que vous avez copié.
TTL
Durée pendant laquelle un enregistrement DNS est mis en cache sur un serveur DNS. Conservez la valeur par défaut.
RemarqueLes nouveaux enregistrements CNAME prennent effet immédiatement. Le temps de propagation d'un enregistrement CNAME modifié dépend du TTL de l'enregistrement mis en cache sur le serveur DNS local. La valeur TTL par défaut est de 10 minutes.
En cas de conflit lors de l'ajout de l'enregistrement, utilisez un autre nom d'hôte. Pour plus d'informations, consultez la rubrique Règles de conflit d'enregistrements DNS.
Étape 5 : Vérifier la configuration
Une fois la configuration terminée, saisissez https://www.example.com et https://www.example.org dans un navigateur pour vérifier que les règles de transfert fonctionnent correctement. Cet exemple suppose que vous avez déployé une page web statique simple sur chaque serveur backend.
Saisissez
https://www.example.comdans votre navigateur. La requête est acheminée vers ECS01 dans le groupe de serveurs RS1. La page afficheHello World ! This is ECS01.Saisissez
https://www.example.orgdans votre navigateur. La requête est acheminée vers ECS02 dans le groupe de serveurs RS2. La page afficheHello World ! This is ECS02.
Si le test échoue, essayez de vider le cache de votre navigateur et recommencez le test.
Documentation connexe
Pour plus d'informations sur les règles de transfert, consultez la rubrique Configurer des règles de transfert basées sur le domaine et le chemin d'accès.