Alors comme ça vous utilisez Caddy avec Let’ Encrypt, et les dernières nouvelles comme quoi Let’s Encrypt interdit l’usage de ses certificats aux pays sous sanctions des USA vous inquiètent, et vous lorgnez du côté d’Actalis ?
Bonne nouvelle : c’est très facile de basculer.
Ça se passe comme ça:
-
Créer un compte gratuit sur Actalis. Assurez-vous de cocher “I do not agree’ pour tout ce avec quoi vous n’êtes pas d’accord.
-
Faites une copie de vos Key ID et HMAC key créés par Actalis
*IMPORTANT – il y a DEUX paires de key ID/HMAC, une pour “Domain Validation - 1 year” et une pour “Domain Validation - 90 days”. Je n’ai testé que la “90 days” et je suggère que vous utilisiez celle-là aussi.
-
Modifiez votre Caddyfile et rechargez-le.
Vous avez vu ? Facile.
Euh… Comment je modifie mon Caddyfile?
Ce qui suit suppose que vous utilisez Linux, et plus spécifiquement Debian Trixie. Les chemins de fichiers peuvent ne pas être les mêmes pour d’autres distros ; vous devrez regarder comment ça se passe avec la vôtre.
Si vous avez installé le paquet Debian caddy, alors votre Caddyfile est
/etc/caddy/Caddyfile (à moins que vous ne l’ayez changé). Éditez-le
avec votre éditeur favori (vous devrez passer root pour le faire).
Recherchez le bloc de réglages globaux. C’est celui qui démarre par la ligne…
{
… et finit à la première ligne…
}
… qui suit.
Je n’ai pas de bloc de réglages globaux dans mon Caddyfile…
Ajoutez-en un, vide pour l’instant, par exemple au début du fichier :
{
}
OK, j’ai un bloc de réglages globaux. Ensuite ?
Dans le bloc en question, cherchez cette ligne :
cert_issuer acme
Je n’ai pas cette ligne dans mon bloc de réglages globaux…
Ajoutez-là !
OK, j’ai une ligne “cert_issuer acme”. Ensuite ?
Ajoutez ceci après la ligne en question :
acme_ca https://acme-api.actalis.com/acme/directory
acme_eab {
key_id AbCdEfGhIjKlMnOpQrStUvWxYz
mac_key AbCdEfGhIjKlMn_OpQrStUvWxYzAbCdEfGhIjKlMnOp
}
Explication:
acme_cadit à Caddy quel fournisseur ACME vous voulez utiliser, etacme_eabfournit les identifiants pour ce fournisseur. Let’s Encrypt ne demande pas de créer un compte manuellement, donc vous n’aviez pas besoin d’dentifiants jusqu’ici, mais Actalis en a besoin.
Bon, vous l’avez probablement deviné : les valeurs pour key_id et
mac_key dans mon example ci-dessus sont bidon. Vous devez les remplacer
avec les vôtres :
-
la directive
key_iddoit être suivie de votre Key ID Actalis -
la directive
mac_keydoit être suivie de votre HMAC key Actalis – en supprimant les signes “égal” éventuels à la fin.
Au final, mon Caddyfile, il doit ressembler à quoi ?
Voici un exemple complet :
{
cert_issuer acme
acme_ca https://acme-api.actalis.com/acme/directory
acme_eab {
key_id AbCdEfGhIjKlMnOpQrStUvWxYz
mac_key AbCdEfGhIjKlMn_OpQrStUvWxYzAbCdEfGhIjKlMnOp
}
}
monsite.example.com {
root /var/www/html
file_server
}
Votre Caddyfile a peut-être davantage de lignes que ça dans son bloc de réglages globaux, ou le bloc de votre site a des lignes différentes : ce n’est pas grave. Ce qui compte c’est que dans le bloc global, il y ait les directives “acme_ca” et “acme_eab”.
Vous pouvez maintenant valider votre Caddyfile…
caddy --config /etc/caddy/Caddyfile validate
… Et le recharger, hein ?
Oui, et le recharger :
caddy --config /etc/caddy/Caddyfile reload
… c’est fini !
Enfin, ce sera fini à l’expiration du ou des certificats Let’s Encrypt actuels : Caddy demandera alors les nouveaux certificats à Actalis. Ça peut prendre quelques dizaines de jours, mais pendant ce temps le site fonctionne encore.
Mais si je veux changer MAINTENANT ?
Si vous voulez vraiment basculer sans attendre, alors vous pouvez le faire au prix d’un arrêt et/ou d’une perturbation de votre ou vos sites webs. Vous devrez :
-
arrêter Caddy:
systemctl stop caddy -
supprimer les certificats Let’s Encrypt :
rm -r /var/lib/caddy/.local/share/caddy/certificates/acme-v02.api.letsencrypt.org-directory/ -
démarrer Caddy:
systemctl start caddy
Caddy va alors régénérer des certificats, via Actalis, dès que votre ou vos sitew web seront visités. Il faudra peut-être recharger / vider le cache du navigateur.
C’est tout ?
Oui ! J’avais dit que c’était facile.