Jump to content
Froxlor Forum
  • 0

Automatische Verlängerung von Let's Encrypt-Zertifikat


chrisiwien

Question

Hallo d00p!

Vor ein paar Monaten habe ich meinen Server auf nginx umgestellt, nur klappt schon zum zweiten Mal die automatische Let's Encrypt-Verlängerung nicht (für den einzigen SSL-vhHost am Server).

Den Ordner /etc/apache2/ habe ich auf dem Server belassen.

Ich habe es mittlerweile hinbekommen dass ein neues Zertifikat für diesen SSL-vHost aktiv ist, aber ich frage mich ob ich in drei Monaten nicht wieder vor dem selben Problem stehe...

Folgende Schritte habe ich manuell unternommen (in der Reihenfolge):

  1. php /var/www/froxlor/scripts/froxlor_master_cronjob.php --letsencrypt --debug - Kein Erfolg, in Froxlor wurde trotzdem das alte, ungültige Zertifikat angezeigt.
  2. Das ungültige Zertifikat in Froxler gelöscht (x-Button).
  3. Erneut php /var/www/froxlor/scripts/froxlor_master_cronjob.php --letsencrypt --debug ausgeführt, nun war das neue Zertifikat in Froxlor sichtbar.
  4. Trotzdem wurde auf der Website das alte Zertifikat angezeigt.
  5. Den alten Apache-Pfad der acme.conf auf /etc/nginx/ gesetzt (Inhalt ist der Standard-Froxlor-nginx-Config-Code)
  6. Die Einträge in /root/.acme.sh/ gelöscht und den Cronjob erneut manuell gestartet. Kein Erfolg, nach wie vor das alte Zertifikat auf der Website.
  7. Die acme-challenge-Tokens in /var/www/froxlor/.well-known/acme-challenge gelöscht und Cronjob ausgeführt. Kein Erfolg.
  8. Den nginx-Server restartet - dann hat es funktioniert, neues Zertifikat ist nun auf der Website sichtbar.

Vmtl. habe ich da was durcheinander gebracht. Jetzt ist kein Token mehr im Ordner /var/www/froxlor/.well-known/acme-challenge zu finden - ist das ein Problem? Ich glaube ich hab verstanden, dass NUR beim Einholen des Zertifikates diese Tokens zur Prüfung wichtig sind. Da das Zertifikat ja schon existiert ist der Token momentan nicht wichtig.

Wie kann ich diese Tokens wieder generieren? Werden die bei der automatischen Verlängerung neu generiert?

Wie kann ich sicher sein dass die automatische Verlängerung läuft?

Hast Du einen Tipp für mich?

 

Grüße aus Wien

 

 

Link to comment
Share on other sites

Recommended Posts

  • 0

Ja eh. Da ich nur gelegentlich mit Server-Arbeit konfrontiert bin habe ich aus unerfindlichen Gründen nicht die Vorgehensweise vom funktionierenden Server übernommen. Blöd.

Ich werde versuchen vor dem nächsten Zert-Update das mit den Domains zu ändern. Ich sehe mich aber so gegen Mitte März 2021 wieder auf schrill gebürstet im Forum posten...*seufz*

Danke für die Antworten jedenfalls!

Link to comment
Share on other sites

  • 0

So, wieder mehrmals gewartet, am 10.1.2022 wieder das selbe Problem: das Zertifikat für die Website wird im Browser als ungültig dargestellt.

Ich habe jetzt nur den nginx-Server mit "service nginx restart" neu gestartet und das Problem war sofort behoben.

Daraus schließe ich:

  • Dass der Froxlor cronjob mit der letsencrypt-Erneuerung ausgeführt wird - da ja nach Server-Neustart das neue Zertifikat sofort aktiv ist.
  • Dass der froxlor-cronjob /var/www/froxlor/scripts/froxlor_master_cronjob.php den Server nicht richtig neu startet.

Was kann ich tun um das Problem zu beheben?

Link to comment
Share on other sites

  • 0

Habe ich jetzt schon zwei dreimal gehört - konnte es bisher auf live-servern und auch unter testbedingungen nie reproduzieren - der cron führt immer genau die anweisungen aus die er soll, gleich die zertifikate vom Dateisystem mit der Datenbank ab und bei erkannten Änderungen wird ein Job zum Neuerstellen der Configs eingetragen und er nächste cronjob erledigt den rest...

Link to comment
Share on other sites

  • 0

Kann ich nicht sagen...mir bleibt pro 3 Monate immer nur ein Versuch um alles herauszufinden... kann ja im April darauf achten...😄

Der Froxlor-vHost hat jedenfalls jetzt auch ein Zertifikat mit dem selben Erneuerungszeitraum wie die Kundendomain.

Wie gesagt tritt das Problem bei meinem nginx-Server auf. Ich habe auch noch einen Apache-Server mit froxlor laufen, da tritt das Problem nicht auf.

Ein nginx-bezogenes Problem? Verwendest Du beim cronjob auch "service nginx restart" oder reload zum Schluss?

Link to comment
Share on other sites

  • 0
Just now, chrisiwien said:

Ein nginx-bezogenes Problem? Verwendest Du beim cronjob auch "service nginx restart" oder reload zum Schluss?

Das was du im Panel eingestellt hast, es spielt aber keine Rolle ob Reload oder Restart.
Poste mal die logs von der acme, alle Certs laufen über diese Datei, Froxlor startet nur den Prozess mehr und weniger nicht.

Link to comment
Share on other sites

  • 0
vor 11 Minuten schrieb みゆき:

Das was du im Panel eingestellt hast, es spielt aber keine Rolle ob Reload oder Restart.
Poste mal die logs von der acme, alle Certs laufen über diese Datei, Froxlor startet nur den Prozess mehr und weniger nicht.

Bist Du sicher? Lt. kurzer Recherche heisst es:

Zitat

restart shuts the service down and then starts it up again, whereas reload instructs the daemon to reload its configuration

Könnte doch einen Unterschied machen bezogen auf nginx vs Apache, oder?

Link to comment
Share on other sites

  • 0
17 hours ago, chrisiwien said:

Uhhh...wo sind die denn?

1. Schalte den LE Cronjob ab unter: 
Conjob-settings > updating Let's Encrypt certificates

2. Stell LE auf Testing
Settings > SSL-Settings > ACME enviornment > LE (Test) Testing

3. Starte Froxlor manuel per cron neu
php /var/www/Froxlor/scripts/froxlor_master_cronjob.php --force --debug

4. Froxlor anweisen, den LE Prozess zu starten
php /var/www/Froxlor/scripts/froxlor_master_cronjob.php --letsencrypt --debug

und diese output posten

Hintergrund Cron abschaltung / Testing.
Damit läufst du nicht in gefahr ins Limit zu laufen, was LE hat

 

Alternativ, wenn dein Sys richtig eingestellt ist, solltest du auch unter 

/var/log/letsencrypt/ logs haben

Link to comment
Share on other sites

  • 0

Das kommt dabei raus, nach php /var/www/Froxlor/scripts/froxlor_master_cronjob.php --letsdebug --debug:

[Wed Jan 12 17:56:17 CET 2022] Already uptodate!
[Wed Jan 12 17:56:17 CET 2022] Upgrade success!
[Wed Jan 12 17:56:18 CET 2022] Installing cron job
25 0 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null
[information] No new certificates or certificate updates found
[notice] Checking system's last guid

Keine Warnungen, keine Fehler.
 

Link to comment
Share on other sites

  • 0

Hallo zusammen,

weitere Entwicklungen: im Froxlor-Panel ist unter Webserver-Einstellungen der Befehl eingetragen:

/etc/init.d/nginx -s reload

Hab versucht den mal in der Shell auszuführen - klappt nicht. Dann kommt eine Meldung wie bei einer unbekannten Kommandozeilenoption:

Usage: nginx {start|stop|restart|reload|force-reload|status|configtest|rotate|upgrade}

D.h. der Befehl /etc/init.d/nginx -s reload wird nie ausgeführt. Die Optionen (-s, -v, etc.) sind aus irgendeinem Grund auf meinem System nicht ausführbar. Muss man die Verwendung von Optionen bei nginx in den Config-Dateien explizit angeben?

Auf alle Fälle ohne Kommandozeilen-Optionen funktioniert der Befehl (ich hab gleich restart statt reload genommen):

/etc/init.d/nginx restart

 

 

Link to comment
Share on other sites

  • 0
4 minutes ago, chrisiwien said:
/etc/init.d/nginx -s reload

das ist auch nicht der default wert aus den Einstellungen - hast du wohl selbst mal eingestellt.

Zusätzlich ist es u.A. aus solchen Gründen eine Einstellung die du anpassen kannst

Link to comment
Share on other sites

  • 0

Hör zu, Du sagst es ist wurscht. Ich hab aber nichts verstellt und laboriere schon Monate mit diesem Problem rum und habe bisher keine Lösung gesehen.

Fakt ist dass der Webserver mit dem falschen Befehl nicht neu startet!

Also is es nicht wurscht was Du als default definiert hast weil ich das dann nachprüfen kann!

Was ist jetzt der default-Wert? Und warum werden die Optionen bei nginx-Befehlen nicht akzeptiert?

  • Downvote 1
Link to comment
Share on other sites

  • 0

wow was nen tonfall...da hilft man doch gern.

Default (der dir halt NIX bringt): https://github.com/Froxlor/Froxlor/blob/master/install/froxlor.sql#L529

Und "/etc/init.d/nginx -s reload" ist NICHT der froxlor default...musst du also irgendwann mal in den Einstellungen gesetzt haben.

4 minutes ago, chrisiwien said:

Und warum werden die Optionen bei nginx-Befehlen nicht akzeptiert?

Kann ich dir nicht sagen, ich bin nicht der Maintainer des nginx init.d-startup-scripts

 

Link to comment
Share on other sites

  • 0
7 minutes ago, chrisiwien said:

Fakt ist dass der Webserver mit dem falschen Befehl nicht neu startet!

Einfache Lösung: Ändere den Befehl in den Einstellungen - dafür sind die da.

Und Ende des Threads

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...