Jump to content
Froxlor Forum
  • 0

LE Zertifikate werden nicht erneuert


Anachon

Question

Hallo,

ich habe das Problem, dass LE seit einem der letzten Updates die Zertifikate nicht mehr erneuert. Erst wenn ich die betroffenen Zertifikate lösche, werden diese erneuert.

ich meine es gab hier mal eine Änderung.

An was kann es liegen ?

 

Grüße

Link to comment
Share on other sites

Recommended Posts

  • 0

Forensuche benutzen -> done

logs bereitstellen -> kein Fehler in den Logs 

Einstellungen prüfen -> done

:-)

Das Problem, was ich habe konnte ich das erste mal im Mai beobachten.

der acme.sh Job ist eingerichtet und wirft bei manueller Ausführung keine Fehler, macht, was er soll.

Nichtsdestotrotz werden nach Ablauf der Zertifikatdauer in Froxlor bei den SSL-Zertifikaten diese rot markiert und werden erst erneuert, wenn ich die in der GUI lösche.

Hast Du dazu einen Tipp?

Link to comment
Share on other sites

  • 0
Just now, Anachon said:

Froxlor zeigt aber Datum/Uhrzeit des Ordners an.

??? Verstehe nicht was du mir damit sagen willst und wo er da was anzeigen sollte? Bitte erläutern.

Wie lautet denn die ausgabe von 

php /var/www/froxlor/scripts/froxlor_master_cronjob.php --force --debug

 

Link to comment
Share on other sites

  • 0

Moin,

Ich hatte das selbe Problem. Aus Zeitgründen hab ich die Zertifikate gelöscht und einmal den cronjob gestartet.

Froxlor hat auch erkannt, dass die Zertifikate abgelaufen sind, hat diese aber nicht erneuert. Eine Fehlermeldung gab es nicht auch nicht beim force debug.

Gruß 

Mats Hensel

Link to comment
Share on other sites

  • 0

Ich hatte auch beim 

php /var/www/froxlor/scripts/froxlor_master_cronjob.php --force --debug

keinen Fehler gerade.

Es ist auch so, wie Mats geschrieben hat. 

Führe ich händisch das acme.sh aus, erneuert er die, Froxlor erkennt aber nicht, dass die erneuert wurden. Erst wenn ich den master cronjob wie oben ausführe, erkennt er die. 

Das hatte ich jetzt zum 3. Mal, jetzt stehen erstmal keine mehr zur Erneuterung an.  Aber ich bin ziemlich sicher, dass es wieder auftreten wird.

 

Link to comment
Share on other sites

  • 0
2 hours ago, Anachon said:

Ich hatte auch beim 


php /var/www/froxlor/scripts/froxlor_master_cronjob.php --force --debug

keinen Fehler gerade.

Das interepretierst du vllt so, daher frage ich nach der ausgabe....

2 hours ago, Anachon said:

ühre ich händisch das acme.sh aus, erneuert er die

Das sollte der acme.sh eigene cronjob erledigen. Prüfe mit "crontab -e" ob es da einen eintrag für acme.sh gibt, damit hat froxlor in dem sinne nichts mehr zu tun

2 hours ago, Anachon said:

Erst wenn ich den master cronjob wie oben ausführe, erkennt er die. 

ja und aktualisiert er sie dann aiuch in der eigenen datenbank und verwendet sie für die domains?

Link to comment
Share on other sites

  • 0

ich hab mal grad nachgeschaut, ich glaube fast das du recht hast und er änderungen nicht mitbekommt, wenn es nicht zufällig einen task zum neuerstellen der configs gibt, den es natürlich nicht gibt, wenn man in froxlor nichts an domains o.Ä. ändert - vllt hab ich es bei mir deswegen nie gemerkt. Mit folgender Änderung sollte es klappen:

diff --git a/lib/Froxlor/Cron/Http/LetsEncrypt/AcmeSh.php b/lib/Froxlor/Cron/Http/LetsEncrypt/AcmeSh.php
index aeeb3a32..e0e152c9 100644
--- a/lib/Froxlor/Cron/Http/LetsEncrypt/AcmeSh.php
+++ b/lib/Froxlor/Cron/Http/LetsEncrypt/AcmeSh.php
@@ -59,8 +59,11 @@ class AcmeSh extends \Froxlor\Cron\FroxlorCron
                        // Let's Encrypt cronjob is combined with regeneration of webserver configuration files.
                        // For debugging purposes you can use the --debug switch and the --force switch to run the cron manually.
                        // check whether we MIGHT need to run although there is no task to regenerate config-files
-                       $needRenew = self::issueDomains();
-                       if ($needRenew || self::issueFroxlorVhost()) {
+                       $issue_froxlor = self::issueFroxlorVhost();
+                       $issue_domains = self::issueDomains();
+                       $renew_froxlor = self::renewFroxlorVhost();
+                       $renew_domains = self::renewDomains();
+                       if ($issue_froxlor || $issue_domains || $renew_froxlor || $renew_domains) {
                                // insert task to generate certificates and vhost-configs
                                \Froxlor\System\Cronjob::inserttask(1);
                        }

 

Link to comment
Share on other sites

  • 0

Hallo zusammen,

ich hatte heute Morgen das gleiche Problem, dass ca. 30 LE-Zertifikate abgelaufen waren und nicht automatisch erneuert wurden.

Erst als ich alle "roten" aus der SSL-Liste entfernt habe und dann den

froxlor_master_cronjob.php --letsencrypt --debug

aufgerufen habe, wurden sie erneuert.

Ich habe aus Interesse nun mal ein bereits abgelaufenes Zertifikat in der Liste drin gelassen (die Domain ist nicht ganz so wichtig).

Auch nach Anwenden des Patches oben und dem Aufruf des Cronjobs mit --letsencrypt wird das Zertifikat nicht erneuert.
Habe auch versucht, ob die Option "Configs neu schreiben" den Renewal anstößt, aber da passiert auch nichts.

Ich kriege die Ausgabe:

[information] No new certificates or certificate updates found
[notice] Checking system's last guid

Mit --force --debug tauchen dann einige Fehler auf, und zwar dass einige SSL-Ordner fehlen.
Die sind auch tatsächlich nicht da (Domain natürlich anonymisiert):

[error] Could not find certificate-folder '/root/.acme.sh/example.de/'
[error] Could not get Let's Encrypt certificate for example.de:

Die Domains der fehlenden Ordner haben allerdings auch alle noch gültige Zertifikate, also soll das vermutlich so?

Habe jetzt mal acme.sh komplett entfernt (also .acme.sh im root-Folder gelöscht) und den Cronjob nochmal angeworfen.
acme.sh wird dann zwar korrekt neu heruntergeladen und eingerichtet - dass Ordner fehlen, wird aber immer noch angemeckert und die Testdomain mit dem abgelaufenen Zertifikat wird weiterhin nicht erneuert.

Der Cronjob sagt immer noch:

php /var/www/froxlor/html/scripts/froxlor_master_cronjob.php --letsencrypt --debug
[information] No new certificates or certificate updates found

 

Link to comment
Share on other sites

  • 0

  

4 hours ago, pxmedia said:

Hallo zusammen,

ich hatte heute Morgen das gleiche Problem, dass ca. 30 LE-Zertifikate abgelaufen waren und nicht automatisch erneuert wurden.

Erst als ich alle "roten" aus der SSL-Liste entfernt habe und dann den


froxlor_master_cronjob.php --letsencrypt --debug

aufgerufen habe, wurden sie erneuert.

Ich habe aus Interesse nun mal ein bereits abgelaufenes Zertifikat in der Liste drin gelassen (die Domain ist nicht ganz so wichtig).

Auch nach Anwenden des Patches oben und dem Aufruf des Cronjobs mit --letsencrypt wird das Zertifikat nicht erneuert.
Habe auch versucht, ob die Option "Configs neu schreiben" den Renewal anstößt, aber da passiert auch nichts.

Ich kriege die Ausgabe:


[information] No new certificates or certificate updates found
[notice] Checking system's last guid

Mit --force --debug tauchen dann einige Fehler auf, und zwar dass einige SSL-Ordner fehlen.
Die sind auch tatsächlich nicht da (Domain natürlich anonymisiert):


[error] Could not find certificate-folder '/root/.acme.sh/example.de/'
[error] Could not get Let's Encrypt certificate for example.de:

Die Domains der fehlenden Ordner haben allerdings auch alle noch gültige Zertifikate, also soll das vermutlich so?

Habe jetzt mal acme.sh komplett entfernt (also .acme.sh im root-Folder gelöscht) und den Cronjob nochmal angeworfen.
acme.sh wird dann zwar korrekt neu heruntergeladen und eingerichtet - dass Ordner fehlen, wird aber immer noch angemeckert und die Testdomain mit dem abgelaufenen Zertifikat wird weiterhin nicht erneuert.

Der Cronjob sagt immer noch:


php /var/www/froxlor/html/scripts/froxlor_master_cronjob.php --letsencrypt --debug
[information] No new certificates or certificate updates found

 

 

 

erstmal --force --debug benutzen und nicht --letsencrypt -- debug
Desweiteren kannst auch erstmal für einige Stunden den Cronjob von LE Certs in Froxlor auf Off stellen und dann nochmal nach einiger Zeit probieren, per SSH den befehl zu benutzen.

 

Link to comment
Share on other sites

  • 0
vor 38 Minuten schrieb irisdina:

 erstmal --force --debug benutzen und nicht --letsencrypt -- debug
Desweiteren kannst auch erstmal für einige Stunden den Cronjob von LE Certs in Froxlor auf Off stellen und dann nochmal nach einiger Zeit probieren, per SSH den befehl zu benutzen

Ich habe beides versucht und das abgelaufene Zertifikat wird trotzdem nicht erneuert.

Ich krieg ja wie gesagt die Meldung "No new certificates or certificate updates found" obwohl ich im Webinterface ein rot hinterlegtes abgelaufenes hab.

Das System müsste beim Cronjob doch irgendwie prüfen, ob alle Zertifikate noch gültig sind und wenn nicht, ein neues ausstellen?

Klar kann ich abgelaufene Certs immer aus der Liste manuell rauslöschen und dann werden die neu geholt, aber bei hunderten von Kunden geht sowas doch ganz schnell mal unter. 😉

Link to comment
Share on other sites

  • 0
On 7/8/2020 at 6:38 PM, pxmedia said:

Das System müsste beim Cronjob doch irgendwie prüfen, ob alle Zertifikate noch gültig sind und wenn nicht, ein neues ausstellen?

das "renew" (erneuern) der Zertifikate macht allein acme.sh - froxlor synchronisiert nur die Zertifikate mit seiner Datenbank in sofern sie neuer sind.

Link to comment
Share on other sites

  • 0

Der Patch aus dem Commit hatte leider auch nicht geholfen, komisch.

Habe nun acme.sh und alle Letsencrypt-Zertifikate aus der Oberfläche gelöscht und alle Kunden nochmal komplett fresh neu generieren lassen.

Mal gucken ob das Renewal in 3 Monaten diesmal hinhaut. :) Vielleicht hatte sich da was in acme.sh zerhauen...

Link to comment
Share on other sites

  • 0

Bei mir werden die Zertifikate auch nicht erneuert.

php -q /var/www/froxlor/scripts/froxlor_master_cronjob.php --letsencrypt --debug

[information] Checking for LetsEncrypt client upgrades before renewing certificates:
[Fri Jun 10 12:07:40 CEST 2022] Already uptodate!
[Fri Jun 10 12:07:40 CEST 2022] Upgrade success!
[Fri Jun 10 12:07:40 CEST 2022] Installing cron job
6 0 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null
[Fri Jun 10 12:07:41 CEST 2022] Changed default CA to: https://acme-v02.api.letsencrypt.org/directory
[information] No new certificates or certificate updates found
[notice] Checking system's last guid
 

Ein abgelaufenes Zertifikat habe ich gelöscht aber das wird auch nicht neu ausgestellt.

 

Link to comment
Share on other sites

  • 0

nach der ausführung  von acme.sh habe ich den returncode 1 erhalten.
nach dem ich wie im forum zu lesen acme.sh --register-account -m yyyy@yahoo.com ausgeführt habe werden wohl zerossl zertifikate angelegt.

[Fri Jun 10 14:27:07 CEST 2022] Processing, The CA is processing your order, please just wait. (13/30)
[Fri Jun 10 14:27:07 CEST 2022] sleep 2 secs to verify again
[Fri Jun 10 14:27:10 CEST 2022] checking
[Fri Jun 10 14:27:10 CEST 2022] url='https://acme.zerossl.com/v2/DV90/chall/ywSpsq7nghr6W7Z1BBFnUg'
[Fri Jun 10 14:27:10 CEST 2022] payload
[Fri Jun 10 14:27:10 CEST 2022] POST
[Fri Jun 10 14:27:10 CEST 2022] _post_url='https://acme.zerossl.com/v2/DV90/chall/ywSpsq7nghr6W7Z1BBFnUg'
[Fri Jun 10 14:27:10 CEST 2022] _CURL='curl --silent --dump-header /root/.acme.sh/http.header  -L  -g '
[Fri Jun 10 14:27:15 CEST 2022] _ret='0'
[Fri Jun 10 14:27:15 CEST 2022] code='200'

 

In Froxlor ist jedoch in der ACME Umgebung "Lets Encrypte Live" eingetragen.

 

 

Link to comment
Share on other sites

  • 0

du sollst ja auch nicht via acme.sh das certificate beantragen, du solltest die via --remove -d [domain] löschen (und in froxlor löschen) und dann via froxlor cronjob mit --debug --force neue beantragen, dann ist es wieder letsencrypt und nicht zerossl

 

Link to comment
Share on other sites

  • 0

Ich habe folgendes gemacht:

1. ./.acme.sh/acme.sh --remove -d subdomain.domain.com

2. SSL Zertifikat im Admin Bereich gelöscht

3. php /var/www/froxlor/scripts/froxlor_master_cronjob.php --force --debug

Im Admin Bereich wir keine neues Zertifikat angelegt.

Im Error Log steht:

Quote

[Sat Jun 11 08:06:24.771397 2022] [mpm_event:notice] [pid 905:tid 140169495635136] AH00489: Apache/2.4.52 (Debian) mod_fcgid/2.3.9 OpenSSL/1.1.1n configured -- resuming normal operations
[Sat Jun 11 08:06:24.771478 2022] [core:notice] [pid 905:tid 140169495635136] AH00094: Command line: '/usr/sbin/apache2'
 


 

Link to comment
Share on other sites

  • 0

[Sat Jun 11 08:02:59 CEST 2022] Create new order error. Le_OrderFinalize not found. {
  "type": "urn:ietf:params:acme:error:rateLimited",
  "detail": "Error creating new order :: too many failed authorizations recently: see https://letsencrypt.org/docs/rate-limits/",
  "status": 429
 

[information] Updated Let's Encrypt certificate for keycdnpull.hotel-nova.com
[error] Could not find file 'stat.domain.com.cer' in '/root/.acme.sh/stat.domain.com/'
[error] Could not find file 'ca.cer' in '/root/.acme.sh/stat.domain.com/'
[error] Could not find file 'fullchain.cer' in '/root/.acme.sh/stat.domain.com/'
[error] Could not get Let's Encrypt certificate for stat.domain.com:

 

im Ordner /.acme.sh/stat.domain.com liegen folgende dateien:

stat.domain.conf  stat.domain.com.csr  stat.domain.com.csr.conf  stat.domain.com.key

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×
×
  • Create New...