Tous les produits
Search
Centre de documentation

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

Dernière mise à jour :Sep 23, 2026

Avec une authentification unidirectionnelle, la connexion HTTPS s'établit après l'authentification du serveur. Avec une authentification mutuelle, elle ne s'établit qu'après l'authentification du client et du serveur. Cette méthode offre une sécurité accrue. Configurez l'authentification mutuelle pour protéger 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, qui exécutent chacun une application différente.

Étape 1 : Acheter un certificat de serveur

Achetez un certificat de serveur depuis la console Certificate Management Service d'Alibaba Cloud ou auprès d'autres fournisseurs. Utilisez un navigateur pour vérifier si le certificat envoyé par le serveur est émis par une autorité de confiance.

Cette rubrique utilise un certificat de serveur acheté via la console Certificate Management Service d'Alibaba Cloud à titre d'exemple. Pour plus d'informations, consultez la section 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 de l'authentification mutuelle, le certificat serveur doit être émis par une autorité de certification reconnue pour être approuvé par les navigateurs (Étape 1). En revanche, comme vous gérez et distribuez les certificats clients, ils n'ont pas besoin d'une chaîne de confiance publique. Vous pouvez donc utiliser un certificat CA auto-signé pour les émettre. Suivez ces étapes pour générer un certificat CA auto-signé destiné à l'émission des certificats clients.

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 une clé privée pour le 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 vous y êtes invité.

  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 certificat pour l'installer.

Client Linux

Téléchargez les fichiers client.key, client.crt et root.crt dans n'importe quel répertoire de votre 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, sélectionnez 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 contenu dans l'éditeur.

    Private Key

    Clé privée du certificat serveur. Collez la clé privée 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 à 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 provenant de 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 d'interrompre les services existants.

  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 en cliquant 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 du CLB. Dans la boîte de dialogue qui s'affiche, confirmez le certificat selon les instructions.

  2. Actualisez la page web. Vous constatez que 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, cela signifie que l'authentification mutuelle entre le client et le serveur est opérationnelle et que 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.