ACME-Zertifikate mit lego
Der ACME-Client lego bezieht Zertifikate von Let’s Encrypt und anderen ACME-Anbietern und nutzt dabei regfish als DNS-Anbieter für die Validierung. Weil die Prüfung über DNS läuft und nicht über den Webserver, funktionieren damit auch Wildcard-Zertifikate, und der Server muss dafür nicht aus dem Internet erreichbar sein.
Voraussetzungen
Abschnitt betitelt „Voraussetzungen“- Ein API-Key mit Schreibrecht auf DNS. lego legt für die Validierung einen TXT-Record an und entfernt ihn danach wieder.
- Eine Domain, deren DNS bei regfish liegt.
- Go auf dem System, oder die folgende Installation.
Go installieren
Abschnitt betitelt „Go installieren“Falls Go noch fehlt, entweder über den Paketmanager der Distribution oder direkt. Die jeweils aktuelle Version steht auf go.dev:
curl 'https://go.dev/dl/go1.24.2.linux-amd64.tar.gz' -LOsudo tar -C /usr/local -xzf go1.24.2.linux-amd64.tar.gzexport PATH=$PATH:/usr/local/go/binlego installieren
Abschnitt betitelt „lego installieren“go install github.com/go-acme/lego/v4/cmd/lego@latestAPI-Key setzen
Abschnitt betitelt „API-Key setzen“export REGFISH_API_KEY='dein-api-key'Zertifikat ausstellen
Abschnitt betitelt „Zertifikat ausstellen“~/go/bin/lego \ --email du@example.com \ --dns regfish \ -d '*.example.com' \ -d example.com \ runDer erste Eintrag deckt alle Namen einer Ebene ab, der zweite die Domain selbst; eine Wildcard
allein schließt example.com nicht ein. Zertifikat und Schlüssel legt lego unter
~/.lego/certificates/ ab.
Verlängern
Abschnitt betitelt „Verlängern“Zum Verlängern dient renew statt run, üblicherweise täglich per Cron oder systemd-Timer.
lego verlängert nur, wenn es nötig ist:
~/go/bin/lego --email du@example.com --dns regfish \ -d '*.example.com' -d example.com renew --days 30Danach muss der Webserver die neuen Dateien laden, etwa mit systemctl reload nginx. Wie die
Dateien eingebunden werden, steht unter nginx und
Apache.
Wann sich stattdessen certbro lohnt
Abschnitt betitelt „Wann sich stattdessen certbro lohnt“lego ist ein allgemeiner ACME-Client, der regfish als DNS-Anbieter verwendet. certbro ist das regfish-eigene Werkzeug und deckt zusätzlich die kostenpflichtigen Zertifikate samt OV-Prüfung ab, die es über ACME nicht gibt. Für reine Let’s-Encrypt-Zertifikate sind beide Wege gangbar.