NGINX-Seite: Sichtbarkeit/Kontrolle der automatischen Let's-Encrypt-Verlaengerung
certbot richtet die automatische Verlaengerung (certbot.timer, zweimal taeglich) zwar schon beim Paket-Install selbst ein -- das war fuer den Admin in der Weboberflaeche bisher aber unsichtbar, reine Behauptung im Code-Kommentar. Jetzt sichtbar/nachpruefbar: - Neue Zeile "Automatische Verlaengerung" im Zertifikat-Status (nur bei Let's-Encrypt-Zertifikaten): Timer aktiv/inaktiv + naechster geplanter Lauf (_certbot_timer_status(), liest systemctl is-active/list-timers). - "Verlaengerung testen (Dry-Run)" -- certbot renew --dry-run, aendert nichts, zeigt nur ob die Verlaengerung im Ernstfall funktionieren wuerde. - "Jetzt manuell verlaengern" -- certbot renew --force-renewal, fuer Testzwecke oder eine sofortige Schluessel-Rotation (mit Warnhinweis auf Let's Encrypts Rate-Limits). - Hinweistext beim Anfordern zeigt den Timer-Status schon VOR der ersten Anforderung. VERSION 1.0.7 -> 1.0.8 (ab hier wieder normale fortlaufende Versionierung statt erneutem Release derselben Versionsnummer). Live auf Testsystem-Update-Restart verifiziert: Seite laedt weiterhin fehlerfrei (_certbot_timer_status crasht nicht ohne aktives Let's-Encrypt-Zertifikat), certbot.timer selbst bestaetigt aktiv (naechster Lauf laut systemctl list-timers korrekt angezeigt). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -108,7 +108,32 @@
|
||||
{% endif %}
|
||||
</span>
|
||||
</div>
|
||||
{% if cert_info.source == "letsencrypt" %}
|
||||
<div class="detail-row">
|
||||
<span class="k">Automatische Verlängerung</span>
|
||||
<span class="v">
|
||||
{% if certbot_timer and certbot_timer.active %}
|
||||
<span class="pill online">aktiv</span>
|
||||
{% if certbot_timer.next_run %}<span class="text-faint" style="font-size:11px; display:block; margin-top:2px;">nächster Lauf: {{ certbot_timer.next_run }}</span>{% endif %}
|
||||
{% elif certbot_timer %}
|
||||
<span class="pill offline">inaktiv</span>
|
||||
{% else %}
|
||||
<span class="pill unknown">unbekannt</span>
|
||||
{% endif %}
|
||||
</span>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% if cert_info.source == "letsencrypt" and can_edit %}
|
||||
<div class="flex gap-2" style="margin-bottom:18px;">
|
||||
<form method="post" style="flex:1;">
|
||||
<button type="submit" name="test_renewal" value="1" class="btn btn-secondary btn-block btn-sm">Verlängerung testen (Dry-Run)</button>
|
||||
</form>
|
||||
<form method="post" style="flex:1;" data-confirm="Zertifikat jetzt sofort erneuern (zählt gegen Let's Encrypts Rate-Limits)?">
|
||||
<button type="submit" name="force_renew" value="1" class="btn btn-secondary btn-block btn-sm">Jetzt manuell verlängern</button>
|
||||
</form>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<p class="text-faint" style="font-size:12.5px; margin-bottom:18px;">Noch kein Zertifikat hinterlegt.</p>
|
||||
{% endif %}
|
||||
@@ -116,7 +141,7 @@
|
||||
{% if can_edit %}
|
||||
<div class="field">
|
||||
<label style="font-weight:600; font-size:13px;">Let's Encrypt anfordern</label>
|
||||
<div class="field-hint" style="margin-bottom:8px;">Setzt voraus, dass die Domain öffentlich auf diesen Host auflöst und Port 80 aus dem Internet erreichbar ist (HTTP-01-Validierung) — für rein interne Instanzen ohne öffentliche Domain nicht nutzbar, dann stattdessen hochladen.</div>
|
||||
<div class="field-hint" style="margin-bottom:8px;">Setzt voraus, dass die Domain öffentlich auf diesen Host auflöst und Port 80 aus dem Internet erreichbar ist (HTTP-01-Validierung) — für rein interne Instanzen ohne öffentliche Domain nicht nutzbar, dann stattdessen hochladen. Verlängerung läuft danach automatisch über certbots eigenen Timer{% if certbot_timer %} ({{ "aktiv" if certbot_timer.active else "inaktiv!" }}){% endif %}, zweimal täglich.</div>
|
||||
</div>
|
||||
<form method="post" style="margin-bottom:18px;">
|
||||
<div class="field">
|
||||
|
||||
Reference in New Issue
Block a user