Certificat ssl et virtualhost en 443 sur apache2 – debian

Si vous rencontrez une erreur de « restart » d’apache2 (attention le « reload » lui passe, ce que je ne comprendrai jamais c’est l’utilité d’une commande qui passe sur des configurations non valides plus d’explication ici) qui mentionne dans le fichier /var/log/apache2/error.log :

Server should be SSL-aware but has no certificate configured [Hint: SSLCertificateFile] ((null):0)

Il y a plusieurs points à vérifier le premier d’après ce forum est de vérifier que le chemin d’accès aux différents éléments de votre Virtualhost en 443 sont cohérents dans l’exemple suivant il faut vérifier « /etc/ssl/certs/domaine.fr.crt » et « /etc/ssl/private/domaine.fr.key » :

NameVirtualHost *:443

‹VirtualHost *:443›
    ServerName www.domaine.fr
   
    DocumentRoot /var/www/
    SSLEngine On
    SSLCertificateFile /etc/ssl/certs/domaine.fr.crt
    SSLCertificateKeyFile /etc/ssl/private/domaine.fr.key
‹/VirtualHost›

Dans mon cas cela n’a pas suffit, j’ai donc cherché un peu plus loin en relisant l’erreur qui m’indique que le serveur n’aurait pas de certificat de configurer pour quelque chose et je me suis aperçu que j’avais dans mes Virtualhost en 443, un Virtualhost de redirection comme ci-après :

NameVirtualHost *:443

‹VirtualHost *:443›
    ServerName domaine.fr
    RedirectMatch 301 ^/(.*) https://www.domaine.fr/$1
‹/VirtualHost›

Et là c’est le drame, oui on veut faire une redirection mais pour que cette redirection fonctionne il faut indiquer au serveur le certificat correspondant à domaine.fr, j’ai donc transformé mon Virtualhost en :

NameVirtualHost *:443

‹VirtualHost *:443›
    ServerName domaine.fr
    RedirectMatch 301 ^/(.*) https://www.domaine.fr/$1

    SSLEngine On
    SSLCertificateFile /etc/ssl/certs/domaine.fr.crt
    SSLCertificateKeyFile /etc/ssl/private/domaine.fr.key
‹/VirtualHost›

Et un « restart » d’apache2 plus tard tout est rentré dans l’ordre.

Enjoy 😉

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.