letsencrypt renew schlägt fehl

ramrod

Member
Hallo,
wurde gerade vom cron darüber informiert, das 3 Zertifikate nicht verlängert werden konnten. Auf dem Server läuft nginx in der Version 1.10.2 und certbot 0.9.3. Die Domains um die es geht sind alle erreichbar und lösen auch korrekt auf.

Code:
Attempting to renew cert from /etc/letsencrypt/renewal/domain.de.conf produced an unexpected error: Failed authorization procedure. domain.de (http-01): urn:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://5domain.de/.well-known/acme-challenge/em5lSUZ0UThQHid-umTsh-OuRFU7uEJw8UtkLDEZYWI: "<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ht", www.domain.de (http-01): urn:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://www.domain.de/.well-known/acme-challenge/go4pxFoCr8SR8OnDBnwplX-9SSP7WOy_dzIv7oIua0E: "<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ht". Skipping.

Führe ich den Befehl "certbot renew --nginx" auf der console aus:
Code:
Processing /etc/letsencrypt/renewal/domain.de.conf
-------------------------------------------------------------------------------
Cert is due for renewal, auto-renewing...
Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org
Renewing an existing certificate
Performing the following challenges:
tls-sni-01 challenge for domain.de
tls-sni-01 challenge for www.domain.de
Cleaning up challenges
Attempting to renew cert from /etc/letsencrypt/renewal/domain.de.conf produced an unexpected error: Cannot find a VirtualHost matching domain domain.de.. Skipping.

In der nginx config Datei ist der Eintrag vorhanden:

Code:
        location ~ /\.well-known/acme-challenge/ {
           root /usr/local/ispconfig/interface/acme/;
           index index.html index.htm;
           try_files $uri =404;
        }

Bei einer Domain habe ich zum Testen mal letsencrypt kurz den Haken rausgenommen und gespeichert. Im Anschluß dann wieder aktiviert und beobachtet was er macht:

Code:
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org
Cert is due for renewal, auto-renewing...
Renewing an existing certificate
Performing the following challenges:
http-01 challenge for domain2.de
http-01 challenge for www.domain2.de
Using the webroot path /usr/local/ispconfig/interface/acme for all unmatched domains.
Waiting for verification...
Cleaning up challenges
Unable to clean up challenge directory /usr/local/ispconfig/interface/acme/.well-known/acme-challenge
Generating key (4096 bits): /etc/letsencrypt/keys/0014_key-certbot.pem
Creating CSR: /etc/letsencrypt/csr/0014_csr-certbot.pem
finished.

Im Anschluß dann noch einmal "certbot renew --nginx" ausgeführt und das Problem bei domain2.de trat nicht mehr auf.

Mit der Config usw. sollte also eigentlich alles passen, da er über die GUI alles korrekt macht. Die Frage ist nur, wieso er bei dem /etc/cron.d/certbot cronjob Probleme hat?
 

ramrod

Member
Muß hier leider noch einmal ins detail gehen, da ich das Problem immer wieder habe.
Konnte es jetzt wenigstens soweit reproduzieren, das ich weis woran es wohl liegt.

Gibt es eigentlich einen Grund wieso der Teil hier:

Code:
        location ~ /\.well-known/acme-challenge/ {
                   root /usr/local/ispconfig/interface/acme/;
                   index index.html index.htm;
                   try_files $uri =404;
        }

am Ende, also nach template Anpassungen eingefügt wird?
Hier scheint sich nämlich mit meinen Einstellungen etwas zu beissen. Lasse ich diese weg erhalte ich beim Aufruf von http://seite.de/.well-known/acme-challenge/test.html einen 404
Mit meinen Einstellungen wird daraus ein 403.

Füge ich den well-known Teil von oben aber direkt nach diesem hier ein:

Code:
        location ~ \.php$ {
            try_files /b110892ecd43aca6e9390f31813dc456.htm @php;
        }

Funktionert der letsencrypt renew wieder ohne Probleme.
 

Werbung

Top