Es ist schon seltsam. Manchmal tappt man in Fallen, die einen Stunden kosten. Dabei war es nur ein einfacher Klick, der den vermeintlichen „Fehler“ sofort und dauerhaft behebt. In meinem Fall wollten sich die SSL-Zertifikate in Nginx Proxy Manager (NPM) partout nicht mehr aktualisieren lassen.
Aber warum?
Denn eigentlich ist das automatische Aktualisieren von SSL-Zertifikaten im Nginx Proxy Manager ein sehr bequemes Feature. Speziell, wenn man die kostenlosen Zertifikate von Letsencrypt verwendet. Mit dem certbot wird regelmäßig überprüft, ob deine Letsencrypt-Zertifikate ein Update brauchen, weil sie bald ablaufen. Dieser Prozess wird vom NPM ganz automatisch regelmäßig angestoßen. Per cron-Job arbeitet der Proxy jedes Zertifikat nacheinander ab. So läufst du nie Gefahr, dass deine Webanwendung im Homelab nicht mehr über eine verschlüsselte Verbindung erreichbar ist. Der Update-Prozess lief bei mir aber permanent ins Leere, ich erhielt beim Aktualisieren immer eine Fehlermeldung.
SSL Zertifikate updaten nicht mehr!
Löschte ich hingegen das Zertifikat und legte es komplett frisch an, funktionierte das tadellos.
Ein Rätsel, zumindest für mich.
Des Rätsels Lösung: Force SSL
Dann entdeckte ich, dass manche Zertifikate sich doch aktualisierten und verglich die Konfiguration im NPM. Und siehe da, des Rätsels Lösung ist ein kleiner, wohlgemeinter Haken, der aber leider einen entscheidenden Haken hat:

Im Nachhinein immer schlauer…
Der Grund leuchtet im Nachhinein ein. Der Aussteller des Zertifikats ist darauf angewiesen, dass die sogenannte Challenge, die zum Erzeugen eines Zertifikats gelöst wird, unverschlüsselt übertragen wird. Der Schalter „Force SSL“ zwingt diese Datenübertragung aber in eine Verschlüsselung, was technisch nicht vorgesehen ist. Somit wird verhindert, dass die Challenge gelöst und das Zertifikat erstellt werden kann.
Bei einer kompletten Neuanlage tritt das Problem natürlich nicht auf, weil ja noch kein Zertifikat existiert, dass die SSL-Kommunikation erzwingen könnte. Daher hat dieser Weg bei mir auch funktioniert.
Jetzt ist bei mit alles wieder korrekt eingestellt und NPM aktualisiert die Zertifikate wieder turnusmäßig und zuverlässig.