Cerbot, Letsencrypt ne trouve pas votre domaine, vhost. Erreur: unable to find a vhost

Lorsque vous essayez de créer ou de renouveler un certificat gratuit avec Cerbot ou Lets’encrypt, sur un vhost Apache comportant déjà une partie SSL. Vous obtenez l’erreur « unable to find a vhost » indiquant qu’il ne trouve pas le vhost.

Par exemple avec le fichier vhost suivant :

<VirtualHost *:80>
    ServerName piradix.com

</VirtualHost>
<VirtualHost *:443>
    ServerName piradix.com

    SSLEngine on
    SSLCertificateFile /etc/myautoCertificat/piradix.com-cert.pem
    SSLCertificateKeyFile /etc/myautoCertificat/piradix.com-privkey.pem
    SSLCertificateChainFile /etc/myautoCertificat/piradix.com-chain.pem
</VirtualHost>

avec la ligne suivant

./certbot-auto --apache -d piradix.com

Cerbot ne trouvera pas le vhost « piradix.com ». Pour le faire reconnaitre, soit vous créer deux fichiers, un pour le port 80 et un pour le port ssl 443.
Ou alors vous insérez deux lignes dans votre fichier de configuration initial 😉 :

  • Ajouter la ligne suivante avant la ligne <VirtualHost *:443>
<IfModule mod_ssl.c>
  • Ajouter la ligne suivante aprèsla ligne </VirtualHost>
</IfModule>

Ce qui donne :

<VirtualHost *:80>
    ServerName piradix.com

</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost *:443>
    ServerName piradix.com

    SSLEngine on
    SSLCertificateFile /etc/myautoCertificat/piradix.com-cert.pem
    SSLCertificateKeyFile /etc/myautoCertificat/piradix.com-privkey.pem
    SSLCertificateChainFile /etc/myautoCertificat/piradix.com-chain.pem
</VirtualHost>
</IfModule>

Maintenant si vous lancer la ligne de commande cerbot-auto, Cerbot reconnaitra votre vhost !

Bonne chance …

Le site de Cerbot est sur : https://certbot.eff.org/

Le site de Lets’encrypt est sur : https://letsencrypt.org/