Jan Novak, 2023-11-22 10:42:
> Am 22.11.23 um 10:02 schrieb Arno Welzel:
[...]
>> Was meinst Du mit "ein DNS Eintrag anpassen"? Ist das ein
>> Wildcard-Zertfikat mit DNS-Prüfung? Dafür gibt es je nach Anbieter
>> geeignete Erweiterungen für certbot.
>
> Ja, das habe ich gesehen (und kann ich für andere Dinge gut gebrauchen,
> dank an Enrik).
>
> In meinem Fall geht es um etwas anderes. Eine Domain zeigt auf eine
> "lokale" Adresse im *externen* DNS und braucht zur Validierung natürlich
> eine externe, erreichbare Adresse. Dieses Zertifikat wird im Intranet
> genutzt.
D.h. der öffentlich abrufbare A/AAAA-Record zeigt auf einen Server, der
nicht öffentlich ist?
Ich hätte das ja eher so gelöst, dass man im lokalen Netz einen
Nameserver nutzt, der nicht öffentlich ist und für die lokalen Domains
entsprechende Adressen liefert, so dass die offiziellen Einträge
weiterhin öffentlich sein können und da nichts anderes läuft als ein
Server für das ACME-Protokoll.
> 1. ich muss vor dem renew auf dem externen Server, welcher das renew
> ausführen will, den DNS entsprechend setzen.
> 2. ich will nicht bei jedem anderen renew den DNS der einen Domain
> ändern. sondern nur dann, wenn diese erneuert werden soll.
> 3. Auf dem Server wird nur per Crontab ein certbot renew ausgeführt -
> welcher alle anderen Zertifikat auch erfolgreich aktualisiert (sofern
> nötig).
Und welche TTL hat der DNS? Minuten? Stunden? Ich halte diese Lösung für
wenig praktikabel.
[...]
> Daher meine Ursprüngliche Frage, ob ich bei einem renew für eine
> bestimmte Domain einen hook ausführen kann - und zwar im "pre renew"
> Modus.
Ein Hook *während* des renew hilft Dir nicht, da eine Änderung im DNS
nicht in Echtzeit erfolgt, sondern mindestens die TTL abgewartet werden
muss, die üblicherweise mindestens mehrere Minuten ist.
Wie oben skizziert: lasse doch einfach den öffentlichen DNS mit
öffentlicher IP-Adresse dauerhaft stehen inkl. Webserver dazu, der nur
für ACME verwendet wird und nutze lokal einen zweiten DNS, der für die
"internen" Domains entsprechende A/AAAA-Records hat und alle anderen
Anfragen an externe Resolver weitergibt.