Wissensdatenbank
1 000 FAQs, 500 Anleitungen und erläuternde Videos. Hier gibt es nur Lösungen!
Ein „Wildcard“-Zertifikat per DNS-Challenge erneuern
Diese Anleitung erklärt, wie Sie ein Wildcard-Zertifikat mithilfe von Certbot und dem Plugin dns-infomaniak automatisch generieren und erneuern können, und zwar durch eine DNS-Challenge.
1. Installation der erforderlichen Tools
Das Infomaniak DNS-Plugin ist standardmäßig nicht enthalten. Um den Fehler Plugin scheint nicht installiert zu sein zu vermeiden, installieren Sie certbot und dessen Erweiterung, indem Sie den offiziellen Anweisungen folgen.
Stellen Sie sicher, dass Sie nach der Auswahl Ihres Systems den Reiter Wildcard auf der Certbot-Website auswählen.
2. Manuelle Erzeugung zu Beginn
Führen Sie diesen Befehl aus, um die erste Erzeugung des Zertifikats zu starten:
certbot certonly --manual \
-d *.example.com \
--preferred-challenges dns-01 \
--server {{URL_1}}
3. Bestätigung der DNS-Challenge (TXT-Eintrag)
Um zu bestätigen, dass Sie der Eigentümer der Domain sind, gehen Sie zu Ihrem Infomaniak-Manager und erstellen Sie den folgenden TXT-Eintrag:
- Name:
_acme-challenge - Wert: (der von Certbot bereitgestellte Wert)
4. Vorbereitung der Infomaniak-API
Um den Prozess zu automatisieren, generieren Sie ein API-Token mit dem Gültigkeitsbereich domain in Ihrer Verwaltungsoberfläche. 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 {{URL_5}} \
-d "$CERTBOT_DOMAIN" \
--agree-tosMachen Sie das Skript ausführbar:
chmod +x /root/infomaniak-auth.sh
6. Bereinigungsskript (infomaniak-clean.sh)
Erstellen Sie die Datei /root/infomaniak-clean.sh, um den Vorgang 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 Verlängerung
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 = {{URL_6}}
pref_challs = dns-01
account = YOUR_ACCOUNT_ID
key_type = rsa
8. Test und Automatisierung (Cron)
Bevor Sie die Automatisierung einrichten, überprüfen Sie, ob alles korrekt funktioniert, indem Sie eine Simulation durchführen:
certbot renew --dry-runWenn der Test erfolgreich ist, fügen Sie diese Cron-Aufgabe hinzu, um alle X Tage zu überprüfen, ob die Verlängerung erfolgt ist:
0 0 */30 * * /usr/bin/certbot renew --quiet --config /etc/letsencrypt/renewal/example.com.confÄndern Sie die oben angegebene Zahl 30 entsprechend der gewünschten Häufigkeit. Der Cron-Job verwendet automatisch:
- die Datei
domain.tld.conf - das Authentifizierungsskript
infomaniak-auth.sh - das Plugin
dns-infomaniak
Link zu dieser FAQ: https://faq.infomaniak.com/1708
War diese FAQ nützlich?