Meine Nextcloud-Installation auf meinem Raspberry Pi läuft bereits seit fast 3 Monaten stabil und ohne Probleme.
Auch die SSL-Verschlüsselung mit dem Let’s Encrypt Zertifikat läuft gut, die Erneuerung via CRON funktioniert, dachte ich zumindest.
Kürzlich habe ich diese E-Mail von erhalten:
Hello,
Your certificate (or certificates) for the names listed below will expire in
20 days (on 04 Jul 18 10:22 +0000). Please make sure to renew
your certificate before then, or visitors to your website will encounter errors.
mydyndns.dns.de
For any questions or support, please visit https://community.letsencrypt.org/.
Unfortunately, we can’t provide support by email.
For details about when we send these emails, please visit
https://letsencrypt.org/docs/expiration-emails/. In particular, note
that this reminder email is still sent if you’ve obtained a slightly
different certificate by adding or removing names. If you’ve replaced
this certificate with a newer one that covers more or fewer names than
the list above, you may be able to ignore this message.
If you want to stop receiving all email from this address, click
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
(Warning: this is a one-click action that cannot be undone)
Regards,
The Let’s Encrypt Team
Es scheint also irgendein Problem mit der Erneuerung zu geben. Den Weg, den ich im Artikel ➡ Nextcloud und Let’s Encrypt vorgestellt habe, scheint nicht zu funktionieren.
Ich habe auch also mal versucht den ganzen Prozess manuell anzustoßen:
sudo /etc/letsencrypt/letsencrypt-auto certonly --agree-tos --renew-by-default -a webroot --webroot-path /var/www/html/ -d mydyndns.dns.de
Anschließend habe ich die Option 3, Place files in webroot directory (webroot), ausgewählt:
How would you like to authenticate with the ACME CA? ------------------------------------------------------------------------------- 1: Apache Web Server plugin - Beta (apache) 2: Spin up a temporary webserver (standalone) 3: Place files in webroot directory (webroot) ------------------------------------------------------------------------------- Select the appropriate number [1-3] then [enter] (press 'c' to cancel): 3 Plugins selected: Authenticator webroot, Installer None Renewing an existing certificate Performing the following challenges: http-01 challenge for mydyndns.dns.de Using the webroot path /var/www/html for all unmatched domains. Waiting for verification... Cleaning up challenges Failed authorization procedure. mydyndns.dns.de (http-01): urn:acme:error:connection :: The server could not connect to the client to verify the domain :: Fetching http://mydyndns.dns.de/.well-known/acme-challenge/xxxxxxxx: Error getting validation data IMPORTANT NOTES: - The following errors were reported by the server: Domain: mydyndns.dns.de Type: connection Detail: Fetching http://mydyndns.dns.de/.well-known/acme-challenge/xxxxxxxx: Error getting validation data To fix these errors, please make sure that your domain name was entered correctly and the DNS A/AAAA record(s) for that domain contain(s) the right IP address. Additionally, please check that your computer has a publicly routable IP address and that no firewalls are preventing the server from communicating with the client. If you're using the webroot plugin, you should also verify that you are serving files from the webroot path you provided.
Im Abschnitt „Important Notes“ gibt es einen hilfreichen Hinweis. Let’s Encrypt versucht die Domain mit http zu verifizieren. Ich habe jedoch den Apache eingestellt, dass er ausschließlich https verwenden soll.
Das scheint also die Krux an der ganzen Sache zu sein.
Nach ein wenig Recherche in den weiten des Internets habe ich eine Lösung gefunden, die bei mir funktioniert hat. Das Zertifikat wurde verlängert.
Dazu habe ich folgendes gemacht:
Den Befehl zum erneuern des Zertifikats habe ich angepasst. Die Befehl „-a webroot“ ist rausgeflogen.
sudo /etc/letsencrypt/letsencrypt-auto certonly --agree-tos --renew-by-default --webroot-path /var/www/html/ -d mydyndns.dns.de
Im Let’s Encrypt Menü habe ich dann die Option 1, Apache Web Server plugin – Beta (apache), gewählt.
How would you like to authenticate with the ACME CA? ------------------------------------------------------------------------------- 1: Apache Web Server plugin - Beta (apache) 2: Spin up a temporary webserver (standalone) 3: Place files in webroot directory (webroot) ------------------------------------------------------------------------------- Select the appropriate number [1-3] then [enter] (press 'c' to cancel): 1 Plugins selected: Authenticator apache, Installer None Renewing an existing certificate Performing the following challenges: tls-sni-01 challenge for mydyndns.dns.de Waiting for verification... Cleaning up challenges IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/mydyndns.dns.de/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/mydyndns.dns.de/privkey.pem Your cert will expire on 2018-09-13. To obtain a new or tweaked version of this certificate in the future, simply run letsencrypt-auto again. To non-interactively renew *all* of your certificates, run "letsencrypt-auto renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
Der CRON Job ist dann natürlich auch noch entsprechend anzupassen:
#Let´s Encrypt Renew
@weekly root /etc/letsencrypt/letsencrypt-auto certonly --agree-tos --renew-by-default --webroot-path /var/www/html/ -d mydyndns.dns.de
Gib mir gerne einen Kaffee ☕ aus!
Wenn dir meine Beiträge gefallen und geholfen haben, dann kannst du mir gerne einen Kaffee ☕ ausgeben.
bc1qfuz93hw2fhdvfuxf6mlxlk8zdadvnktppkzqzj

ist absolut technik-begeistert und großer Fan von Linux und Open Source. Raspberry Pi Bastler der ersten Stunde und nach wie vor begeistert von dem kleinen Stück Hardware, auf dem er tolle Projekte umsetzt. Teilt hier seine Erfahrungen mit Nextcloud, Pi-hole, YubiKey, Synology und openmediavault und anderen spannenden IT-Themen. Nutzt Markdown und LaTeX zum Dokumentieren seiner Projekte und Gitea zum Versionieren. Sitzt vor einem 49“ Monitor, nutzt Windows und MacOS zum Arbeiten, Linux auf seinen Servern und virtuellen Maschinen und hört dabei Spotify und MP3s und Radio-Streams über seinen RadioPi.
Hallo, danke für den Hinweis. Habe mein Zertifikat bisher ohne Probleme manuell erneuert (ca. 4 mal bisher), doch dieses Mal erhielt ich auch genau diesen Fehler, obwohl ich an der Konfiguration nichts geändert habe. Auch meine Seite ist nur für https zu gelassen, aber das war von Anfang an so. Leider erhalte ich den Fehler auch noch mit dem angepassten Befehl. Noch eine andere Idee?
Hallo Mario,
leider habe ich auch keine andere / neue Idee. Bin mal gespannt, ob das bei der nächsten Aktualisierung des Zertifikates irgendwie funktioniert.
Grüße
Stefan
Hallo, mal zur Info: ich konnte das Zertifikat erneuern indem ich den http-Port freigegeben habe. Nach erfolgreicher Erneuerung des Zertifikats habe ich diesen wieder geschlossen und und nun schon zum zweiten Mal ganz normal erfolgreich meine Zeritifikat über https verlängert. Offenbar wurde das bereits vorhandene Zeritifikat nicht gefunden und Lets Encrypt wollte es über http neu anlegen.
Hallo Mario,
vielen Dank für die Info.
Hast du das zufällig über ein Skript automatisiert oder musst du das manuell machen?
Grüße
Stefan
Ich mache das noch manuell, nachdem der Cron einen Fehler brachte und ich mich noch nicht wieder damit beschäftigt habe. Aber vielleicht sollte ich mich doch langsam mal damit beschäftigen, kann ja nicht so schwer sein 😉
Um die Auswahl:
1: Apache Web Server plugin - Beta (apache)
2: Spin up a temporary webserver (standalone)
3: Place files
in
webroot directory (webroot)
zu überspringen kann man einfach den Befehl folgendermaßen erweitern:/etc/letsencrypt/letsencrypt-auto certonly –apache –agree-tos –renew-by-default –webroot-path /var/www/html -d mydns.comBei mir funktioniert der Auto-Renew einwandfrei. Ich muss auch nichts an meiner apache-Konfig ändern (Port 80 ist hier komplett deaktiviert). Nur den Port 80 am Router öffnen.VG MatzeEdit zu meinem vorherigen Beitrag:Der Port 80 muss doch nicht an der Fritzbox freigegeben werden wenn der Parameter –apache verwendet wird. Bei mir klappt es ohne aktivierten Port 80 in der /etc/apache2/ports.conf ohne Probleme das Zertifikat zu erneuern.VGMatze
Hallo,
bei mir ist das Zertifikat abgelaufen und es funktioniert gar nix mehr. Die letzte Cron Job Ausführung war vor 5 Monaten. Da scheint schon etwas nicht zu klappen. Wenn ich das Zertifikat manuell erneuern will, sagt er mir „letsencrypt-auto“ Befehl nicht gefunden.
Hat jemand eine Idee?
@Tobiasls /etc/letsencrypt/letsencrypt-auto sollte die Datei finden. Falls nicht scheint diese zu fehlen…
Moin, ich hatte! auch das Problem das ich Letsencrypt nicht erneuern konnte.
Dank dem hinweis von Mario hab ich Nextcloud vorübergehen auf der FritzBox die „Selbstständige Portfreigaben für dieses Gerät erlauben.“ erlaubt. Letsencrypt wurde sofort erneuert 🙂
Danke Mario für den hinweis.
Hallo Koepi,
danke für dein Feedback!
Ich würde jedoch nur den Port 80 für die Dauer der Aktuailiserung deines Zertifikats auf der FRITZ!Box öffnen und die Freigabe anschließend wieder entfernen, eine „Selbstständige Portfreigabe“ scheint mir hierfür unnötig.
Grüße
Stefan
Moin,
bis zur letzten Erneuerung hat bei mir noch alles wunderbar funktioniert. Nun gibt es den Fehler „Your System ist not supported by certbot-auto anymore“, kennt da schon jemand einen guten Weg abseits der cerbot eignen Beschreibung?
Danke und Grüße
Hallo Karim,
die Aktualisierung über das Skript sollte nach wie vor funktionieren. Das verwendete Skript wird aber nicht mehr weiterentwickelt.
Es wird empfohlen Certbot über snap zu installieren und darüber dann die Zertifikate zu installieren bzw. zu aktualisieren.
Die Anleitung findest du auf der offiziellen Website des Projekts:
https://certbot.eff.org/lets-encrypt/debianbuster-apache
Grüße
Stefan