Let's Encrypt Zertifikaterneuerung funktioniert nicht automatisiert

Hallo,

meine Zertifikatserneuerung von Let’s Encrypt funktioniert nicht mehr

# INFO: Using main config file /etc/dehydrated/config
Processing intranet.domain.de with alternative names: start.domain.de server.domain.de cloud.domain.de portfolio.domain.de
 + Checking domain name(s) of existing cert... unchanged.
 + Checking expire date of existing cert...
 + Valid till Sep  3 12:23:29 2020 GMT Certificate will expire
(Less than 30 days). Renewing!
 + Signing domains...
 + Generating private key...
 + Generating signing request...
Can't load /root/.rnd into RNG
140279061660096:error:2406F079:random number generator:RAND_load_file:Cannot open file:../crypto/rand/randfile.c:88:Filename=/root/.rnd
 + Requesting new certificate order from CA...
  + ERROR: An error occurred while sending head-request to https://acme-v02.api.letsencrypt.org/acme/new-nonce (Status 000)

Details:

  + ERROR: An error occurred while sending post-request to https://acme-v02.api.letsencrypt.org/acme/new-order (Status 400)

Details:
HTTP/2 400 
server: nginx
date: Sat, 08 Aug 2020 00:00:19 GMT
content-type: application/problem+json
content-length: 112
boulder-requester: 75556709
cache-control: public, max-age=0, no-cache
link: <https://acme-v02.api.letsencrypt.org/directory>;rel="index"
replay-nonce: 0101ndL4q1KwajhOAmAanp8HmRVKuLX1O8GLYu_j5LA9yis

{
  "type": "urn:ietf:params:acme:error:badNonce",
  "detail": "JWS has no anti-replay nonce",
  "status": 400
}

Die Can’t load /root/.rnd into RNG Meldung kam schon immer, es hat aber problemlos funktioniert.

Leider komme ich mit den Fehlermeldungen bei der Recherche nicht wirklich weiter, außer ein Eintrag in /etc/hosts, der aber wohl keine Dauerlösung bewirkt, konnte ich bislang weder Ursache noch Lösung finden.

Wer kann mit den Meldungen was anfangen oder weiß, was ich tun kann, damit die Zertifikaterneuerung wieder funktioniert?

Viele Grüße
Steffen

Hallo,

Hm…
/usr/bin/dehydrated -c
3x aus der Crontab aufgerufen, 3x Fehlermeldungen.

Gerade nochmal händisch auf der Konsole aufgerufen… läuft durch ?!?

Ist da nur alle 3 Monate fällig nicht extrem dramatisch, aber alles andere als schön, da ich ja auch unerreichbar sein könnte.

Viele Grüße
Steffen

Hallo Steffen,

wenn ein Skript von der Konsole aus läuft, aber nicht als Cronjob, dann ist eine häufige Ursache, dass bei Cronjobs die Pfade anders gesetzt sind.

Nimm mal die Ausgabe von „echo $PATH“ und schreibe sie ganz am Anfang als $PATH=/bin:/usr/bin… in das Skript.

Beste Hrüße

Jörg

Hallo Jörg,

sorry, dass ich mich jetzt erst melde, ich war in den letzten Wochen viel unterwegs :wink:

Ich denke nicht, dass das Problem der Aufruf ist, denn das Skript läuft ja grundsätzlich auch aus der Crontab aufgerufen.
Meistens ist halt die Meldung, dass kein Renew ansteht und damit passiert nix weiter. Gelegentlich bekomme ich aber auch jetzt, wo definitiv kein Renew ansteht, eine Fehlermeldung

# INFO: Using main config file /etc/dehydrated/config
ERROR: Problem connecting to server (get for https://acme-v02.api.letsencrypt.org/directory; curl returned with 35)

Hätte ich noch ein paar Tage abgewartet, wäre wahrscheinlich der Renew irgendwann doch aus aus der Crontab duchgelaufen. Das Skript selbst wollte ja den Renew abarbeiten, wurde also bereits aus der Crontab gestartet. Dann kam während der Skriptausführung die Fehlermeldung.

Trotzdem danke für den Hinweis.

Viele Grüße
Steffen

Hallo,

leider bekomme ich die Fehlermeldung

ERROR: Problem connecting to server (get for https://acme-v02.api.letsencrypt.org/directory; curl returned with 35)

nun schon wieder seit Tagen bei jedem Skriptaufruf. Dazwischen Abgelöst von

Processing subdomain1.domain.de with alternative names: subdomain2.domain.de subdomain3.domain.de subdomain4.domain.de subdomain5.domain.de subdomain6.domain.de subdomain7.domain.de

Ein Ping auf die IP 46.89.234.69 geht nicht.

Dehydrated gerade auf der Konsole aufgerufen
/usr/bin/dehydrated -c
läuft durch und erneuert die Zertifikate. Hm…

Eigentlich hätte ich Let’s Encrypt ja schon gerne so automatisiert, dass ich nicht doch für jede Zertifikatserneuerung Hand anlegen muss.

Viele Grüße
Steffen

Hallo,

nachdem nun die Zertifikate erneuert wurden durch den Aufruf auf der Konsole, läuft das Skript auch aus der Crontab aufgerufen wieder sauber durch:

INFO: Using main config file /etc/dehydrated/config
Processing subdomain1.domain.de with alternative names: subdomain2.domain.de subdomain3.domain.de subdomain4.domain.de subdomain5.domain.de subdomain6.domain.de subdomain7.domain.de

  • Checking domain name(s) of existing cert… unchanged.
  • Checking expire date of existing cert…
  • Valid till Jan 9 13:12:52 2021 GMT Certificate will not expire
    (Longer than 30 days). Skipping renew!

Irgendwie verschluckt sich das Skript nur aus der Crontab und nur wenn ein Renew ansteht / möglich ist, weil die Gültigkeit der Zertifikate unter 30 Tagen liegt ?!?

Viele Grüße
Steffen