Installation native : renouveler le certificat

Dans une installation native sous Windows ou Linux, nginx délivre le certificat SSL. Si le nouveau certificat a été émis avec une nouvelle paire de clés (nouvelle CSR), le fichier server.key est en outre remplacé par la nouvelle clé privée. Si la même CSR a été utilisée, server.key reste inchangé.

Le fichier server.pem contient le certificat du serveur ainsi que les certificats intermédiaires. Un certificat acheté est d’abord préparé comme décrit dans Renouveler un certificat acheté →, qui couvre également la conversion depuis d’autres formats comme PFX.


Windows

Pour une installation sous Windows, la procédure est la suivante :

  1. Par défaut, le certificat et la clé se trouvent sous %ProgramFiles%\nginx\server.pem et %ProgramFiles%\nginx\server.key. S’ils ne s’y trouvent pas, le fichier nginx.conf indique où ils ont été placés. Ce fichier se trouve généralement dans %ProgramFiles%\nginx\conf\nginx.conf.

  2. Dans ce fichier, les chemins figurent dans la section suivante. nginx résout les chemins relatifs par rapport au répertoire de nginx.conf (%ProgramFiles%\nginx\conf).

    nginx.conf
    ssl_certificate      "C:/Program Files/nginx/server.pem";
    ssl_certificate_key  "C:/Program Files/nginx/server.key";
    
  3. Le fichier server.pem est remplacé par celui du nouveau certificat, ou ouvert dans un éditeur (exécuté en tant qu’administrateur) afin d’en remplacer le contenu par celui du nouveau certificat. En cas de nouvelle paire de clés, le fichier server.key dont le chemin figure sous ssl_certificate_key est également remplacé.

  4. La configuration est ensuite vérifiée avec nginx.exe -t dans une invite de commandes ouverte en tant qu’administrateur dans le répertoire %ProgramFiles%\nginx, ce qui détecte également une clé ne correspondant pas au certificat. Le service nginx est ensuite redémarré avec sc stop nginx et sc start nginx ou via la console des services (services.msc). Si nginx ne démarre pas, le fichier %ProgramFiles%\nginx\logs\error.log fournit des indications.

  5. Les détails du certificat affichés dans le navigateur lors de l’accès à Relution, par exemple la nouvelle date d’expiration, indiquent si nginx délivre le nouveau certificat.


Linux (Rocky/Alma)

Pour une installation Linux native, la procédure est la suivante :

  1. Il est d’abord vérifié si le certificat expiré se trouve dans /etc/pki/tls/certs/server.pem. S’il ne s’y trouve pas, les entrées ssl_certificate, ssl_certificate_key et, le cas échéant, ssl_trusted_certificate dans /etc/nginx/conf.d/relution-ssl.conf indiquent l’emplacement réel.

  2. Si c’est le cas, une copie est créée, le fichier est ouvert, son contenu est supprimé et le contenu du nouveau certificat est copié dans le fichier server.pem.

  3. Il est également possible de renommer le fichier existant et de placer le nouveau certificat sous le nom server.pem dans ce chemin :

    sudo mv /etc/pki/tls/certs/server.pem /etc/pki/tls/certs/server.pem.old
    sudo mv server.pem /etc/pki/tls/certs
    sudo chown root:root /etc/pki/tls/certs/server.pem
    sudo chmod 644 /etc/pki/tls/certs/server.pem
    sudo restorecon -v /etc/pki/tls/certs/server.pem
    

    Si SELinux fonctionne en mode enforcing (par défaut), restorecon rétablit le contexte de sécurité correct. Sinon, SELinux peut refuser à nginx l’accès au certificat (voir Obsolète : Linux (Alma) →).

    En cas de nouvelle paire de clés, la clé privée est également remplacée :

    sudo mv server.key /etc/pki/tls/private
    sudo chown root:root /etc/pki/tls/private/server.key
    sudo chmod 600 /etc/pki/tls/private/server.key
    sudo restorecon -v /etc/pki/tls/private/server.key
    

    Si l’OCSP Stapling est utilisé, le fichier de la chaîne de certificats (ssl_trusted_certificate) est également renouvelé.

  4. La configuration est ensuite vérifiée avec sudo nginx -t, ce qui détecte également une clé ne correspondant pas au certificat. Le service est ensuite redémarré avec sudo systemctl restart nginx. Si nginx ne démarre pas, le fichier /var/log/nginx/error.log fournit des indications.

  5. Les détails du certificat affichés dans le navigateur lors de l’accès à Relution, par exemple la nouvelle date d’expiration, indiquent si nginx délivre le nouveau certificat.

Top