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, indem Sie eine DNS-Challenge verwenden.
1. Installation der Tools
Installieren Sie certbot und dessen Erweiterung (❓: Hilfe). Wählen Sie den Reiter Wildcard aus, um den Fehler Plugin scheint nicht installiert zu sein zu vermeiden.
2. Vorbereitung der Infomaniak-API
Um den Prozess zu automatisieren, generieren Sie ein API-Token (❓: Hilfe). Suchen Sie nach „dns“ und aktivieren Sie unbedingt die beiden Berechtigungen dns:read und dns:write:
Diese Berechtigungen sind erforderlich, damit Certbot Ihre DNS-Zonen lesen und den TXT-Eintrag zur Validierung erstellen/löschen kann.
3. Manuelle Erstellung und Validierung
Starten Sie die erste Erstellung des Zertifikats:
certbot certonly --manual \
-d *.example.com \
--preferred-challenges dns-01 \
--server {{URL_3}}Greifen Sie dann auf den Manager zu und erstellen Sie den angeforderten TXT-Eintrag (Name: _acme-challenge, Wert: der von Certbot bereitgestellte Wert), um zu beweisen, dass Sie der Eigentümer der Domain sind (❓: Hilfe).
4. Automatisierungsskripte
Erstellen Sie das Authentifizierungsskript /root/infomaniak-auth.sh:
#!/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_6}} \
-d "$CERTBOT_DOMAIN" \
--agree-tosErstellen Sie das Bereinigungsskript /root/infomaniak-clean.sh:
#!/bin/bash
# Optional: Cleanup operations after challenge
exit 0Machen Sie diese beiden Skripte ausführbar:
chmod +x /root/infomaniak-auth.sh /root/infomaniak-clean.sh
5. Konfiguration der automatischen Verlängerung
Bearbeiten oder erstellen Sie die 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_7}}
pref_challs = dns-01
account = YOUR_ACCOUNT_ID
key_type = rsa
6. Test und Automatisierung (Cron)
Überprüfen Sie, ob alles ordnungsgemäß funktioniert, indem Sie eine Verlängerung simulieren:
certbot renew --dry-runWenn der Test erfolgreich ist, fügen Sie diese Cron-Aufgabe hinzu, um die Verlängerung zu automatisieren (hier eine Überprüfung alle 30 Tage):
0 0 */30 * * /usr/bin/certbot renew --quiet --config /etc/letsencrypt/renewal/example.com.confLink zu dieser FAQ: https://faq.infomaniak.com/1708
War diese FAQ nützlich?