Wissensdatenbank
1 000 FAQs, 500 Anleitungen und erläuternde Videos. Hier gibt es nur Lösungen!
Wildcard-Zertifikat per DNS-Herausforderung erneuern
Dieser Leitfaden erklärt, wie Sie ein Wildcard-Zertifikat über eine DNS-Herausforderung mit Certbot und dem Plugin dns-infomaniak erzeugen und automatisch erneuern.
1. Installation der erforderlichen Tools
Das Infomaniak-DNS-Plugin ist nicht standardmäßig enthalten. Um den Fehler plugin does not appear to be installed zu vermeiden, installieren Sie certbot und dessen Erweiterung, indem Sie den offiziellen Anweisungen folgen.
Stellen Sie sicher, dass Sie das Registerblatt Wildcard auf der Certbot-Website auswählen, nachdem Sie Ihr System ausgewählt haben.
2. Manuelle Erstgenerierung
Führen Sie diesen Befehl aus, um die erste Generierung des Zertifikats zu starten:
certbot certonly --manual \
-d *.example.com \
--preferred-challenges dns-01 \
--server https://acme-v02.api.letsencrypt.org/directory
3. Validierung der DNS-Herausforderung (TXT-Eintrag)
Um zu beweisen, dass Sie den Domainnamen besitzen, gehen Sie zu Ihrem Infomaniak Manager und erstellen Sie den folgenden TXT-Eintrag:
- Name:
_acme-challenge - Wert: (der von dem Certbot-Befehl bereitgestellte)
4. Vorbereitung der Infomaniak-API
Um den Prozess zu automatisieren, erstellen Sie ein API-Token mit dem Bereich domain in Ihrer Verwaltungsschnittstelle. Dieses Token ermöglicht es dem Skript, Ihre DNS-Einträge automatisch zu aktualisieren.
5. Authentifizierungsskript (infomaniak-auth.sh)
Erstellen Sie die Datei /root/infomaniak-auth.sh. Dieses Skript wird von Certbot bei der Erneuerung aufgerufen:
#!/bin/bash
# API Token for Infomaniak
INFOMANIAK_API_TOKEN="YOUR_API_TOKEN_HERE"
# Update DNS record via Infomaniak API plugin
/usr/bin/certbot \
--authenticator dns-infomaniak \
--server https://acme-v02.api.letsencrypt.org/directory \
-d "$CERTBOT_DOMAIN" \
--agree-tosMachen Sie das Skript ausführbar:
chmod +x /root/infomaniak-auth.sh
6. Reinigungsskript (infomaniak-clean.sh)
Erstellen Sie die Datei /root/infomaniak-clean.sh, um das Verfahren abzuschließen:
#!/bin/bash
# Optional: Cleanup operations after challenge
exit 0Machen Sie das Skript ausführbar:
chmod +x /root/infomaniak-clean.sh
7. Konfiguration der automatischen Erneuerung
Bearbeiten oder erstellen Sie die folgende Konfigurationsdatei: /etc/letsencrypt/renewal/example.com.conf.
cert = /etc/letsencrypt/live/example.com/cert.pem
privkey = /etc/letsencrypt/live/example.com/privkey.pem
chain = /etc/letsencrypt/live/example.com/chain.pem
fullchain = /etc/letsencrypt/live/example.com/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 = YOUR_ACCOUNT_ID
key_type = rsa
8. Test und Automatisierung (Cron)
Bevor Sie es automatisieren, überprüfen Sie, ob alles mit einer Simulation korrekt funktioniert:
certbot renew --dry-runWenn der Test erfolgreich ist, fügen Sie diese Cron-Aufgabe hinzu, um die Verlängerung alle X Tage zu überprüfen:
0 0 */30 * * /usr/bin/certbot renew --quiet --config /etc/letsencrypt/renewal/example.com.confPassen Sie 30 Tage oben entsprechend der gewünschten Häufigkeit an. Der Cron wird automatisch verwenden:
- die Datei
domain.tld.conf - das Authentifizierungsskript
infomaniak-auth.sh - das Plugin
dns-infomaniak
Link zu dieser FAQ:
War diese FAQ nützlich?