Stefan's Weblog

15Jun/180

Let’s Encrypt – Zertifikatserneuerung schlägt fehlt

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:

<br />
How would you like to authenticate with the ACME CA?<br />
-------------------------------------------------------------------------------<br />
1: Apache Web Server plugin - Beta (apache)<br />
2: Spin up a temporary webserver (standalone)<br />
3: Place files in webroot directory (webroot)<br />
-------------------------------------------------------------------------------<br />
Select the appropriate number [1-3] then [enter] (press 'c' to cancel): 3<br />
Plugins selected: Authenticator webroot, Installer None<br />
Renewing an existing certificate<br />
Performing the following challenges:<br />
http-01 challenge for mydyndns.dns.de<br />
Using the webroot path /var/www/html for all unmatched domains.<br />
Waiting for verification...<br />
Cleaning up challenges<br />
Failed authorization procedure. mydyndns.dns.de (http-01):<br />
urn:acme:error:connection ::<br />
The server could not connect to the client to verify the domain ::<br />
Fetching http://mydyndns.dns.de/.well-known/acme-challenge/xxxxxxxx:<br />
Error getting validation data</p>
<p>IMPORTANT NOTES:<br />
 - The following errors were reported by the server:</p>
<p>   Domain: mydyndns.dns.de<br />
   Type:   connection<br />
   Detail: Fetching<br />
   http://mydyndns.dns.de/.well-known/acme-challenge/xxxxxxxx:<br />
   Error getting validation data</p>
<p>   To fix these errors, please make sure that your domain name was<br />
   entered correctly and the DNS A/AAAA record(s) for that domain<br />
   contain(s) the right IP address. Additionally, please check that<br />
   your computer has a publicly routable IP address and that no<br />
   firewalls are preventing the server from communicating with the<br />
   client. If you're using the webroot plugin, you should also verify<br />
   that you are serving files from the webroot path you provided.</p>
<p>

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 wein 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 Memü habeich dann die Option 1, Apache Web Server plugin - Beta (apache), gewählt.

<br />
How would you like to authenticate with the ACME CA?<br />
-------------------------------------------------------------------------------<br />
1: Apache Web Server plugin - Beta (apache)<br />
2: Spin up a temporary webserver (standalone)<br />
3: Place files in webroot directory (webroot)<br />
-------------------------------------------------------------------------------<br />
Select the appropriate number [1-3] then [enter] (press 'c' to cancel): 1<br />
Plugins selected: Authenticator apache, Installer None<br />
Renewing an existing certificate<br />
Performing the following challenges:<br />
tls-sni-01 challenge for mydyndns.dns.de<br />
Waiting for verification...<br />
Cleaning up challenges</p>
<p>IMPORTANT NOTES:<br />
 - Congratulations! Your certificate and chain have been saved at:<br />
   /etc/letsencrypt/live/mydyndns.dns.de/fullchain.pem<br />
   Your key file has been saved at:<br />
   /etc/letsencrypt/live/mydyndns.dns.de/privkey.pem<br />
   Your cert will expire on 2018-09-13. To obtain a new or tweaked<br />
   version of this certificate in the future, simply run<br />
   letsencrypt-auto again. To non-interactively renew *all* of your<br />
   certificates, run &quot;letsencrypt-auto renew&quot;<br />
 - If you like Certbot, please consider supporting our work by:</p>
<p>   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate<br />
   Donating to EFF:                    https://eff.org/donate-le<br />

Der CRON Job ist dann natürlich auch noch entsprechend anzupassen:

<br />
#Let´s Encrypt Renew<br />
@weekly root /etc/letsencrypt/letsencrypt-auto certonly --agree-tos --renew-by-default --webroot-path /var/www/html/ -d mydyndns.dns.de<br />

hat dir dieser Artikel gefallen?

Dann abonniere doch diesen Blog per RSS Feed!

Kommentare (0) Trackbacks (0)

Zu diesem Artikel wurden noch keine Kommentare geschrieben.


Leave a comment

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

Noch keine Trackbacks.

%d Bloggern gefällt das: