Kennisbank

1.000 veelgestelde vragen, 500 tutorials en uitlegvideo's. Hier vind je alleen maar oplossingen!

Een "wildcard"-certificaat vernieuwen via een DNS-verificatie

Deze handleiding legt uit hoe u een certificaat kunt aanmaken en vervolgens automatisch kunt verlengen door een wildcard te gebruiken via een DNS-uitdaging met Certbot en de plugin dns-infomaniak.

 

1. Installatie van de DNS-Infomaniak-plugin

DNS-plugins zijn niet standaard geïnstalleerd bij Certbot. Om certbot en de plugin dns-infomaniak correct te installeren en een mogelijke fout te voorkomen (De gevraagde dns-infomaniak-plugin lijkt niet te zijn geïnstalleerd), raadpleegt u de officiële Certbot-instructies en selecteert u de juiste Software → Systeem en raadpleegt u vervolgens het tabblad Wildcard.

 

2. Erstellen des Wildcard-Zertifikats

Open een Terminal en voer het volgende Certbot-commando uit om het certificaat handmatig aan te maken:

certbot certonly --manual \
-d *.domain.tld \
--preferred-challenges dns-01 \
--server https://acme-v02.api.letsencrypt.org/directory

 

3. Maak de TXT-record aan

Via de domeinbeheer van de Infomaniak Manager maakt u de gevraagde TXT-record aan voor _acme_challenge.domein.tld.

 

4. Maak het configuratiebestand voor de verlenging

Open een Terminal en maak of bewerk het bestand: /etc/letsencrypt/renewal/domein.tld.conf. Voorbeeld van de aanbevolen configuratie:

cert = /etc/letsencrypt/live/domain.tld/cert.pem
privkey = /etc/letsencrypt/live/domain.tld/privkey.pem
chain = /etc/letsencrypt/live/domain.tld/chain.pem
fullchain = /etc/letsencrypt/live/domain.tld/fullchain.pem
[renewalparams]
authenticator = manual
manual_auth_hook = /root/infomaniak-auth.sh
manual_cleanup_hook = /root/infomaniak-clean.sh
server = https://acme-v02.api.letsencrypt.org/directory
pref_challs = dns-01
account = xxxxx
key_type = rsa

Sommige fouten komen voort uit automatisch door Certbot aangemaakte bestanden die verouderde of onjuiste velden bevatten (version = ..., cert-path = ..., enz.). Maak altijd het renewal-bestand opnieuw aan door het bovenstaande voorbeeld te volgen.

 

5. Maak het script infomaniak-auth.sh aan

Via het API-beheer van de Infomaniak Manager kunt u een Infomaniak-API-token aanmaken met de scope domain. Vervang in het volgende script XXXXXXX.

Het bestand dat u in uw configuratie opgeeft, moet absoluut overeenkomen met de daadwerkelijke naam van het script. Bijvoorbeeld: als u infomaniak-auth.sh in de configuratie gebruikt, maakt u dan niet infomaniak-auth-domain.xyz.sh aan.

Open een terminal en maak het bestand /root/infomaniak-auth.sh aan zonder tabbladen aan het einde van de regels (dit veroorzaakt fouten in Bash) met:

#!/bin/bash
INFOMANIAK_API_TOKEN="XXXXXXX"
# Ajout de l'enregistrement TXT via le plugin DNS Infomaniak
/usr/bin/certbot \
  --authenticator dns-infomaniak \
  --server https://acme-v02.api.letsencrypt.org/directory \
  -d "$CERTBOT_DOMAIN" \
  --agree-tos

Het script moet uitvoerbaar worden gemaakt:

chmod +x /root/infomaniak-auth.sh

 

6. Maak een opschoonscript

Maak het bestand /root/infomaniak-clean.sh aan

#!/bin/bash
# Optionnel : suppression de l'entrée DNS temporaire
exit 0

Het script moet uitvoerbaar worden gemaakt:

chmod +x /root/infomaniak-clean.sh

 

7. Test de vernieuwing

Voordat u een cron-taak gebruikt, test u altijd met dit commando, dat eventuele fouten weergeeft (script niet gevonden, verkeerde bestandsnaam, ontbrekende rechten, ontbrekende plugin, enz.):

certbot renew --dry-run

 

8. Configureer een cron-taak

0 0 */30 * * /usr/bin/certbot renew --quiet --config /etc/letsencrypt/renewal/domain.tld.conf

Pas de waarde 30 dagen hierboven aan, afhankelijk van de gewenste frequentie. De cron-taak zal automatisch het volgende gebruiken:

  • het bestand domain.tld.conf
  • het authenticatiescript infomaniak-auth.sh
  • de plugin dns-infomaniak

Link naar deze veelgestelde vragen: https://faq.infomaniak.com/1708


Is deze veelgestelde vragenlijst nuttig geweest?