Tous les produits
Search
Centre de documentation

Server Load Balancer:Deploy HTTPS services with CLB (mutual authentication)

Dernière mise à jour :Aug 18, 2026

Avec une authentification unidirectionnelle, la connexion HTTPS s'établit après l'authentification du serveur. Avec une authentification mutuelle, elle nécessite l'authentification du client et du serveur. Cette méthode renforce la sécurité et protège vos services critiques. Cette rubrique explique comment configurer l'authentification mutuelle sur un écouteur HTTPS d'une instance CLB.

Procédure

Cet exemple utilise un certificat d'autorité de certification (CA) auto-signé pour signer le certificat client. Suivez les étapes ci-dessous pour configurer l'authentification mutuelle sur l'écouteur HTTPS.

Configure mutual authentication on an HTTPS listener of a CLB instance

Prérequis

  • Vous avez créé une instance CLB.

  • Vous avez créé deux serveurs backend, ECS01 et ECS02, exécutant chacun une application différente.

Étape 1 : Acheter un certificat de serveur

Vous pouvez acheter un certificat de serveur via la console Certificate Management Service d'Alibaba Cloud ou auprès d'autres fournisseurs. Un navigateur permet de vérifier si le certificat envoyé par le serveur émane d'une autorité de confiance.

Cette rubrique prend pour exemple un certificat de serveur acheté via la console Certificate Management Service d'Alibaba Cloud. Pour plus d'informations, consultez la rubrique Acheter un certificat SSL.

Important

Assurez-vous de disposer d'un nom de domaine valide à associer au certificat.

Étape 2 : Générer un certificat CA avec OpenSSL

Dans le cadre d'une authentification mutuelle, le certificat serveur doit être émis par une autorité de certification reconnue pour être accepté par les navigateurs (étape 1). En revanche, comme vous gérez et distribuez les certificats clients, une chaîne de confiance publique n'est pas requise. Vous pouvez donc utiliser un certificat CA auto-signé pour les émettre. Suivez les étapes ci-dessous pour générer ce certificat CA.

Connectez-vous à une machine Linux sur laquelle OpenSSL est installé.

  1. Exécutez la commande suivante pour créer la clé privée du certificat racine :

    openssl genrsa -out root.key 4096
  2. Exécutez la commande suivante pour créer une demande de signature de certificat (CSR) pour le certificat racine :

    openssl req -new -out root.csr -key root.key

    Saisissez les informations demandées. Voici un exemple :

    Remarque

    Le Common Name du certificat CA doit être unique. N'utilisez pas le même Common Name que celui des certificats serveur ou client.

    Country Name (2 letter code) [XX]:cn
    State or Province Name (full name) []:bj
    Locality Name (eg, city) [Default City]:bj
    Organization Name (eg, company) [Default Company Ltd]:alibaba
    Organizational Unit Name (eg, section) []:test
    Common Name (eg, your name or your servers hostname) []:root
    Email Address []:a.alibaba.com
    A challenge password []:
    An optional company name []:
  3. Exécutez la commande suivante pour créer le certificat racine :

    openssl x509 -req -in root.csr -out root.crt -signkey root.key -CAcreateserial -days 3650

    Le résultat ressemble à ce qui suit :

    [root@i-xxx ~]# openssl x509 -req -in root.csr -out root.crt -signkey root.key -CAcreateserial -days 3650
    Signature ok
    subject=C = cn, ST = bj, L = bj, O = alibaba, OU = test, CN = root, emailAddress = xxx@xxx.com
    Getting Private key
  4. Exécutez ls pour afficher le certificat racine généré root.crt et la clé privée root.key.

Étape 3 : Générer un certificat client

  1. Exécutez la commande suivante pour générer la clé privée du certificat client :

  2. openssl genrsa -out client.key 4096
  3. Exécutez la commande suivante pour générer un fichier CSR pour le certificat client. Définissez le Common Name sur votre nom de domaine.

  4. openssl req -new -out client.csr -key client.key
  5. Exécutez la commande suivante pour générer le certificat client :

  6. openssl x509 -req -in client.csr -out client.crt -CA root.crt -CAkey root.key -CAcreateserial -days 3650
  7. Exécutez la commande suivante pour convertir le certificat client généré client.crt en un fichier PKCS12 reconnu par le navigateur. Saisissez le mot de passe de chiffrement défini pour la clé privée client lorsque le système vous y invite.

  8. openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.p12
  9. Exécutez ls pour afficher les fichiers de certificat client générés : client.key, client.crt et client.p12.

Étape 4 : Installer le certificat client

Installez le certificat client sur le poste client.

Client Windows

Double-cliquez sur le fichier client.p12 et suivez l'Assistant Importation de certificats pour l'installer.

Client Linux

Téléchargez les fichiers client.key, client.crt et root.crt dans un répertoire de votre choix sur le client Linux.

Dans cet exemple, le répertoire est /home/ca. Exécutez sudo chmod 700 /home/ca pour modifier les permissions du répertoire.

Étape 5 : Télécharger le certificat serveur et le certificat CA

  1. Connectez-vous à la console CLB.

  2. Dans le volet de navigation de gauche, choisissez CLB > Certificates, puis cliquez sur Add Certificate pour télécharger le certificat serveur.

  3. Dans le panneau Add Certificate, cliquez sur Third-party Certificates, configurez les paramètres suivants, puis cliquez sur Create.

    Parameter

    Description

    Certificate Name

    Saisissez un nom pour le certificat.

    Certificate Type

    Sélectionnez Server Certificate.

    Public Key Certificate

    Contenu du certificat serveur. Collez-le dans l'éditeur.

    Private Key

    Clé privée du certificat serveur. Collez-la dans l'éditeur.

    Region

    Sélectionnez la région de l'instance CLB.

  4. Sur la page Certificates, cliquez sur Add Certificate pour télécharger le certificat CA.

  5. Dans le panneau Add Certificate, cliquez sur Third-party Certificates, configurez les paramètres suivants, puis cliquez sur Create.

    Parameter

    Description

    Certificate Name

    Saisissez un nom pour le certificat.

    Certificate Type

    Sélectionnez CA Certificate.

    Client CA Certificate

    Téléchargez le certificat de clé publique du client.

    Region

    Sélectionnez la région de l'instance CLB.

Étape 6 : Configurer l'authentification mutuelle sur un écouteur HTTPS

Avertissement

CLB rejette les requêtes des clients sans certificat installé. Si votre instance CLB est en production, testez d'abord cette configuration dans un environnement de préproduction. Vous pouvez également utiliser un nouveau port d'écoute pour éviter toute interruption de service.

  1. Connectez-vous à la console Classic Load Balancer.

  2. Cliquez sur l'ID de l'instance CLB que vous avez créée.

  3. Sous l'onglet Listeners, cliquez sur Add Listener.

  4. Sous l'onglet Protocol & Listener, configurez les paramètres suivants, puis cliquez sur Next.

    • Select Listener Protocol : HTTPS

    • Listener Port : 443

  5. Sous l'onglet Certificate Management Service, sélectionnez le certificat serveur que vous avez téléchargé.

  6. Cliquez sur Modify à côté de Advanced Settings, activez l'authentification mutuelle, sélectionnez le certificat CA téléchargé, puis cliquez sur Next.

  7. Sélectionnez Default Server Group et cliquez sur Add pour ajouter des serveurs backend.

  8. Conservez les valeurs par défaut pour les autres paramètres et cliquez sur Next pour avancer dans l'assistant. Sur la dernière page, cliquez sur Submit pour créer l'écouteur.

Étape 7 : Tester la fonctionnalité d'authentification mutuelle

Client Windows

  1. Dans un navigateur, saisissez https://ip:port, où ip correspond à l'adresse IP publique de l'instance CLB. Dans la boîte de dialogue qui s'affiche, confirmez le certificat selon les instructions.

  2. Actualisez la page web. Les requêtes sont réparties uniformément entre les serveurs backend.

    La page affiche Hello World ! This is ECS01., ce qui indique que la requête a été transférée vers le serveur ECS01.

    La page affiche Hello World ! This is ECS02., ce qui indique que la requête a été transférée vers le serveur ECS02.

Client Linux

Connectez-vous au client Linux sur lequel les certificats sont installés et exécutez la commande suivante pour vérifier l'authentification mutuelle CLB :

sudo curl --cert /home/ca/client.crt --key /home/ca/client.key --cacert /home/ca/root.crt https://<the domain name on the server certificate>:<port>

Si les réponses suivantes s'affichent, l'authentification mutuelle entre le client et le serveur est opérationnelle et les requêtes sont distribuées aux deux instances ECS.

[test@iZxxxw521i57Z ~]$ sudo curl --cert /home/ca/client.crt --key /home/ca/client.key --cacert /home/ca/ca.crt https://xxx.com.cn
Hello World ! This is ECS01.
[test@iZxxxw521i57Z ~]$ sudo curl --cert /home/ca/client.crt --key /home/ca/client.key --cacert /home/ca/ca.crt https://xxx.com.cn
Hello World ! This is ECS02.