Tous les produits
Search
Centre de documentation

Certificate Management Service:Deploy an SSL certificate on an Nginx server (Windows)

Dernière mise à jour :Aug 10, 2026

Déployez un certificat SSL sur un serveur Nginx sous Windows pour activer le protocole HTTPS, protéger les données en transit et éviter les avertissements de sécurité des navigateurs.

Prérequis

Avant de commencer, assurez-vous que les conditions suivantes sont remplies :

  • Statut du certificat : Vous disposez d'un certificat SSL émis par une autorité de certification (CA) de confiance. Si votre certificat arrive à expiration ou a expiré, vous devez d'abord le renouveler.

  • Correspondance des noms de domaine : Vérifiez que le certificat couvre tous les noms de domaine que vous souhaitez protéger. Si vous devez ajouter ou modifier un nom de domaine, vous pouvez acheter un certificat payant ou ajouter et remplacer des noms de domaine.

    • Nom de domaine exact : Un certificat de nom de domaine exact s'applique uniquement au nom de domaine spécifié.

      • Un certificat pour example.com s'applique uniquement à example.com.

      • Un certificat pour www.example.com s'applique uniquement à www.example.com.

    • Nom de domaine générique (wildcard) : Un certificat de nom de domaine générique s'applique uniquement aux sous-domaines de premier niveau.

      • Un certificat pour *.example.com s'applique aux sous-domaines de premier niveau tels que www.example.com et a.example.com.

      • Un certificat pour *.example.com ne s'applique pas au domaine racine example.com ni aux sous-domaines de plusieurs niveaux tels que a.b.example.com.

    Remarque

    Pour correspondre à un sous-domaine de plusieurs niveaux, le champ Bound Domains doit inclure le nom de domaine spécifique (par exemple, a.b.example.com) ou un nom de domaine générique correspondant (par exemple, *.b.example.com).

  • Autorisations du serveur : Vous devez utiliser le compte Administrator ou un compte disposant de privilèges d'administrateur.

  • Résolution DNS : Le nom de domaine se résout vers l'adresse IP publique du serveur.

  • Prérequis : Cette rubrique utilise Windows Server 2025 et Nginx 1.28.0 comme exemples. Le répertoire d'installation de Nginx utilisé dans l'exemple est D:\nginx-1.28.0.

    Remarque

    Les étapes peuvent différer selon les versions du système d'exploitation ou les logiciels de serveur web.

Procédure

Étape 1 : Préparer le certificat SSL

  1. Accédez à la page SSL Certificates Service. Dans la colonne Actions correspondant à votre certificat, cliquez sur More pour ouvrir la page des détails du certificat. Dans l'onglet Download , téléchargez le certificat pour le Server Type Nginx.

  2. Décompressez le package de certificat téléchargé.

    • Si le package contient à la fois un fichier de certificat (.pem) et un fichier de clé privée (.key), conservez les deux fichiers en toute sécurité. Vous en aurez besoin pour le déploiement.

    • Si le package contient uniquement un fichier de certificat (.pem) et aucun fichier de clé privée (.key), vous devez déployer le certificat conjointement avec le fichier de clé privée que vous avez enregistré localement.

      Remarque

      Si vous avez généré un fichier de demande de signature de certificat (CSR) à l'aide d'un outil tel qu'OpenSSL ou Keytool lors de la demande du certificat, le fichier de clé privée est stocké uniquement sur votre machine locale et le package téléchargé ne contient pas le fichier de clé privée. Si la clé privée est perdue, le certificat devient inutilisable. Vous devez acheter un certificat payant et générer un nouveau CSR ainsi qu'une nouvelle clé privée.

  3. Téléchargez les fichiers de certificat et de clé privée extraits sur votre serveur et stockez-les dans un répertoire sécurisé. Le chemin d'accès utilisé dans cette rubrique est D:\cert.

    Remarque

    Les étapes suivantes utilisent une instance ECS Alibaba Cloud comme exemple. Pour les autres types de serveurs, consultez la documentation du fournisseur.

    1. Accédez à ECS console - Instances. Dans le coin supérieur gauche, sélectionnez la région et le groupe de ressources de la ressource cible.

    2. Accédez à la page des détails de l'instance. Cliquez sur Connect et sélectionnez Workbench. Suivez les instructions à l'écran pour vous connecter au serveur.

    3. Cliquez sur le menu Start dans le coin inférieur gauche du bureau du serveur, puis recherchez et ouvrez This PC, Computer ou File Explorer.

    4. Sous Redirected drives and folders, double-cliquez sur workbench on ***. Faites glisser les fichiers de certificat depuis votre machine locale vers ce répertoire, puis faites un clic droit et sélectionnez Refresh pour actualiser le dossier.

      image

    5. Copiez les fichiers dans le répertoire D:\cert.

      Important

      Workbench supprime les fichiers de Redirected drives and folders lorsque vous vous reconnectez ou quittez l'instance. Utilisez ce répertoire uniquement pour le transfert ; n'y stockez pas de fichiers de manière permanente.

Étape 2 : Configurer le système et le réseau

  1. Ouvrez le port 443 dans le groupe de sécurité.

    Important

    Si votre serveur est déployé sur une plateforme cloud, assurez-vous que son groupe de sécurité autorise le trafic entrant sur le port TCP 443. Sinon, le service ne sera pas accessible depuis Internet. Les opérations suivantes utilisent une instance ECS Alibaba Cloud comme exemple. Pour les autres plateformes cloud, reportez-vous à leur documentation officielle.

    1. Accédez à la page ECS Instances, sélectionnez la région où se trouve votre instance ECS cible et cliquez sur le nom de l'instance pour accéder à la page des détails.

    2. Cliquez sur Security Groups > Inbound Rules et vérifiez qu'une règle existe avec Action défini sur Allow, Protocol Type défini sur TCP, Port Range défini sur HTTPS (443) et Authorization Object défini sur Anywhere (0.0.0.0/0).

    3. Si une telle règle n'existe pas, ajoutez-en une au groupe de sécurité cible. Pour plus d'informations, consultez la rubrique Ajouter une règle de groupe de sécurité.

  2. Ouvrez le port 443 dans le pare-feu du serveur.

    1. Connectez-vous à votre serveur Windows, cliquez sur le menu Start , puis ouvrez le Control Panel.

    2. Accédez à System and Security > Windows Defender Firewall > Check firewall status.

    3. Si le pare-feu est désactivé, comme illustré dans la figure suivante, aucune action supplémentaire n'est requise.image

    4. Si le pare-feu est activé, suivez ces étapes pour autoriser le trafic HTTPS.

      1. Dans le volet de navigation de gauche, cliquez sur Advanced settings > Inbound Rules et vérifiez s'il existe une règle entrante pour laquelle Protocol est TCP, Local Port est 443 et Action est Block.

      2. Si une telle règle existe, faites un clic droit sur la règle, sélectionnez Properties , puis dans l'onglet General , modifiez l'action pour la définir sur Allow the connection . Ensuite, cliquez sur Apply .

Étape 3 : Déployer le certificat sur Nginx

  1. Ouvrez le fichier de configuration Nginx (par exemple, D:\nginx-1.28.0\conf\nginx.conf) et configurez le certificat SSL et la clé privée.

    1. Ajoutez un bloc server qui écoute sur le port 443.

      Dupliquez le bloc server du port 80, modifiez la directive listen pour qu'elle devienne listen 443 ssl et ajoutez les directives SSL (ssl_certificate et ssl_certificate_key).

      # Original server block listening on port 80
      server {
          listen 80;
          server_name yourdomain.com www.yourdomain.com;
      
          # Other configurations
          location / {
              proxy_pass http://127.0.0.1:8000;
          }
      }
      
      # Duplicate the existing server block for port 80 and add it as a new server block.
      server {
          # Change 'listen 80' to 'listen 443 ssl'
          listen 443 ssl;
          # Keep the original server_name. You can add more domain names supported by the certificate.
          server_name yourdomain.com www.yourdomain.com;
      
          # ======================= Certificate Configuration Start =======================
          # Specify the certificate file (intermediate certificates can be concatenated into this .pem file). Replace the following path with the absolute path to your certificate file.
          ssl_certificate D:\\cert\\example.com.pem;
          # Specify the private key file. Replace the following path with the absolute path to your private key file.
          ssl_certificate_key D:\\cert\\example.com.key;
          # Configure the SSL session cache to improve performance.
          ssl_session_cache shared:SSL:1m;
          # Set the SSL session timeout.
          ssl_session_timeout 5m;
          # Customize the TLS protocols and cipher suites (This is an example. Adjust as needed.)
          ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
          # Specify the allowed TLS protocol versions. Higher TLS versions provide better security but may have lower browser compatibility.
          ssl_protocols TLSv1.2 TLSv1.3;
          # Prioritize the server's cipher suites.
          ssl_prefer_server_ciphers on;
          # ======================= Certificate Configuration End =======================
      
          # Other configurations
      }
    2. Facultatif : Redirigez automatiquement les requêtes HTTP vers HTTPS. Ajoutez la directive rewrite au bloc server existant qui écoute sur le port 80.

      server {
          listen 80;
          # Enter the domain name bound to the certificate.
          server_name <YOURDOMAIN>;
          # Redirect all HTTP requests to HTTPS with a 301 status code.
          return 301 https://$host$request_uri;
      }
    3. Validez la configuration. Si la sortie affiche syntax is ok et test is successful, la configuration est correcte. Sinon, corrigez les erreurs signalées et recommencez le test.

      .\nginx.exe -t
  2. Rechargez le service Nginx.

    Ouvrez l'invite de commandes, accédez au répertoire d'installation de Nginx et exécutez :

    .\nginx.exe -s reload 

Étape 4 : Vérifier le déploiement

  1. Accédez à votre nom de domaine via HTTPS. Exemple : https://example.com. Remplacez example.com par votre nom de domaine réel.

  2. Si une icône de verrouillage apparaît dans la barre d'adresse du navigateur, le certificat est déployé avec succès. Si une erreur d'accès se produit ou si l'icône de verrouillage n'apparaît pas, videz le cache de votre navigateur ou réessayez en mode navigation privée.

    image

    À partir de Chrome 117, l'icône image dans la barre d'adresse a été remplacée par une nouvelle icône image . Cliquez sur cette icône pour afficher les informations de verrouillage de sécurité.

Remarque

Si les problèmes persistent, consultez la section FAQ pour résoudre les problèmes.

Déploiement en production

Lorsque vous déployez une application dans un environnement de production, suivez ces bonnes pratiques pour améliorer la sécurité, la stabilité et la maintenabilité :

  • Exécutez l'application en tant qu'utilisateur non administrateur :

    Créez un utilisateur système dédié avec des privilèges limités pour l'application. N'exécutez pas l'application à l'aide d'un compte disposant d'autorisations administratives.

    Remarque

    Nous vous recommandons d'utiliser une configuration SSL au niveau de la passerelle. Cela implique de déployer le certificat sur un proxy inverse, tel qu'une instance SLB ou Nginx.

  • Externalisez la gestion des identifiants :

    Ne codez pas en dur des informations sensibles, telles que les mots de passe, dans votre code ou vos fichiers de configuration. Utilisez des variables d'environnement, un coffre-fort ou un Key Management Service fourni par votre fournisseur cloud pour injecter les identifiants.

  • Appliquez la redirection HTTP vers HTTPS :

    Assurez-vous que tout le trafic accédant à votre site web via HTTP est automatiquement redirigé vers HTTPS. Cela permet de prévenir les attaques de type « man-in-the-middle » (MITM).

  • Configurez des protocoles TLS modernes :

    Dans la configuration de votre serveur, désactivez les protocoles obsolètes et non sécurisés, tels que SSLv3, TLS 1.0 et TLS 1.1. Activez uniquement TLS 1.2 et TLS 1.3.

  • Surveillez les certificats et automatisez leur renouvellement :

    Une fois le certificat déployé, nous vous recommandons d'activer la surveillance des noms de domaine. Alibaba Cloud vérifie automatiquement la période de validité du certificat et envoie des rappels avant son expiration. Cela vous aide à renouveler le certificat en temps utile pour éviter les interruptions de service. Pour plus d'informations, consultez la rubrique Acheter et activer la surveillance publique des noms de domaine.

FAQ

Le certificat ne fonctionne pas ou l'accès HTTPS est impossible

Les causes courantes incluent :

  • Le port 443 n'est pas ouvert dans le groupe de sécurité ou le pare-feu. Ouvrez-le comme décrit dans la section Configurer le système et le réseau.

  • Les Bound Domains du certificat ne couvrent pas le domaine auquel vous accédez. Vérifiez le prérequis relatif à la correspondance des noms de domaine.

  • Nginx n'a pas été rechargé après la modification de la configuration. Rechargez le service Nginx.

  • Les fichiers de certificat n'ont pas été remplacés correctement ou la configuration Nginx pointe vers un chemin incorrect. Vérifiez que la configuration et les fichiers de certificat sont à jour.

  • Le nom de domaine est intégré à des services cloud tels que CDN, SLB ou WAF, mais le certificat n'est pas installé sur le service correspondant. Pour plus d'informations, consultez la rubrique Emplacement du déploiement du certificat lorsque le trafic traverse plusieurs services cloud.

  • Le nom de domaine se résout vers plusieurs serveurs, mais le certificat est installé uniquement sur certains d'entre eux. Vous devez installer le certificat sur chaque serveur.

Comment mettre à jour un certificat SSL dans Nginx ?

Sauvegardez les fichiers .pem et .key existants sur votre serveur. Téléchargez le nouveau certificat depuis la console Certificate Management Service et téléchargez-le dans le même chemin avec les mêmes noms de fichiers, en écrasant les anciens fichiers. Rechargez Nginx pour appliquer la modification.

Comment désactiver TLSv1.0 et TLSv1.1 dans Nginx ?

Dans le bloc server Nginx qui écoute sur le port 443, définissez ssl_protocols pour inclure uniquement TLSv1.2 et TLSv1.3 : ssl_protocols TLSv1.2 TLSv1.3;. Cela désactive les protocoles TLSv1.0 et TLSv1.1 non sécurisés. Après avoir mis à jour la configuration, exécutez .\nginx.exe -s reload pour appliquer les modifications.

Après avoir exécuté nginx -s reload, Nginx ne démarre pas ou l'erreur bind() to 0.0.0.0:443 failed apparaît dans les journaux.

Il s'agit d'un conflit de port. Exécutez netstat -ano | findstr ":443" pour vérifier si le port 443 est utilisé et arrêtez le service qui l'occupe.

Dépannage de l'icône de verrouillage manquante ou des avertissements de « contenu mixte »

Cela se produit lorsque la page charge des ressources telles que des images, du CSS ou du JavaScript via HTTP. Inspectez le code source de la page et modifiez tous les liens http:// en https:// , ou utilisez des chemins relatifs tels que /images/logo.png .