LetsEncrypt - Zertifikat wird nicht verlängert - Challenge is invalid

Hallo zusammen,

ich habe LetsEncrypt mit linuxmuster-dehydrated eingerichtet. Das hat bislang immer einwandfrei funktioniert, aber jetzt bekomme ich eine Fehlermeldung beim update der Zertifikate. Versteht einer was damit gemeint ist, und wo der Hund begraben liegen könnte?

# INFO: Using main config file /etc/linuxmuster-dehydrated/config
Processing server.schule.berthold-gymnasium.de
 + Checking domain name(s) of existing cert... unchanged.
 + Checking expire date of existing cert...
 + Valid till Sep 25 03:53:53 2018 GMT (Less than 30 days). Renewing!
 + Signing domains...
 + Generating private key...
 + Generating signing request...
 + Requesting challenge for server.schule.berthold-gymnasium.de...
 + Hook: Nothing to do...
 + Responding to challenge for server.schule.berthold-gymnasium.de...
 + Hook: Nothing to do...
 + Hook: Nothing to do...
ERROR: Challenge is invalid! (returned: invalid) (result: {
  "type": "http-01",
  "status": "invalid",
  "error": {
    "type": "urn:acme:error:connection",
    "detail": "Fetching http://server.schule.berthold-gymnasium.de/.well-known/acme-challenge/ISrRWnZG8buzEhztsgIrktozs-Hs8gdHf9m5XZF7j9o: Error getting validation data",
    "status": 400
  },
  "uri": "https://acme-v01.api.letsencrypt.org/acme/challenge/tP8oICEx9c_JnyyQDmHib75ASCYEH-ykauRRNCG6fJI/7070706332",
  "token": "ISrRWnZG8buzEhztsgIrktozs-Hs8gdHf9m5XZF7j9o",
  "keyAuthorization": "ISrRWnZG8buzEhztsgIrktozs-Hs8gdHf9m5XZF7j9o.OSvtJrnIWYhbynY_BMfbrhLCElzrzAl3sJnS7WvVnpk",
  "validationRecord": [
    {
      "url": "http://server.schule.berthold-gymnasium.de/.well-known/acme-challenge/ISrRWnZG8buzEhztsgIrktozs-Hs8gdHf9m5XZF7j9o",
      "hostname": "server.schule.berthold-gymnasium.de",
      "port": "80",
      "addressesResolved": [
        "141.62.173.3"
      ],
      "addressUsed": "141.62.173.3"
    }
  ]
})

Viele Grüße
Alex

Hallo Alex,

ich kenn mich da nicht so aus, aber ich meine, der Client bietet eine
Datei (Validitation) zum Download an und Lets encrypt läd die herunter:
um fest zu stellen, dass die angegebene Domain auch unter deiner
Kontrolle ist.

Und dieses Herunterladen schlägt fehl, so meine ich erkennen zu können
an dieser Stelle:

http://server.schule.berthold-gymnasium.de/.well-known/acme-challenge/ISrRWnZG8buzEhztsgIrktozs-Hs8gdHf9m5XZF7j9o:
Error getting validation data", „status“: 400 }, „uri“:
https://acme-v01.api.letsencrypt.org/acme/challenge/tP8oICEx9c_JnyyQDmHib75ASCYEH-ykauRRNCG6fJI/7070706332“,
„token“: „ISrRWnZG8buzEhztsgIrktozs-Hs8gdHf9m5XZF7j9o“,
„keyAuthorization“:
„ISrRWnZG8buzEhztsgIrktozs-Hs8gdHf9m5XZF7j9o.OSvtJrnIWYhbynY_BMfbrhLCElzrzAl3sJnS7WvVnpk“,
„validationRecord“: [ { „url“:
http://server.schule.berthold-gymnasium.de/.well-known/acme-challenge/ISrRWnZG8buzEhztsgIrktozs-Hs8gdHf9m5XZF7j9o“,
„hostname“: „server.schule.berthold-gymnasium.de“, „port“: „80“,
„addressesResolved“: [ „141.62.173.3“ ], „addressUsed“: „141.62.173.3“ }
] }) |

da ist wohl was am IPFire verstellt.

LG

Holger

Hallo Holger,

was ich am IPFire gemacht habe waren zwei Dinge: Ein Update auf Core 122 und die Umstellung des Belwue-DNS wegen des Jugendschutzfilters.

LG Alex

Hallo zusammen,

Problem gelöst: Irgendjemand hatte mir auf dem Belwue-Router Port 80 zugemacht.

LG Alex

Hallo!

Ich habe das gleiche Problem, es scheint aber nicht der Port 80 zu sein, sondern die Umleitung auf https, wenn ich das richtig verstehe.
Ich habe 2 Dockercontainer (mrbs und osp), bei beiden ergibt sich das gleiche Problem. Vielleicht kann mir jemand einen Tipp geben :slight_smile:

root@dockerhost-red:~# /usr/bin/dehydrated -c -g

Processing wiki.eichendorff-gymnasium.de

Ich habe schon probiert, in den nginx-configdateien im 80-er Abschnitt die Zeilen

# return 301 https://mrbs.eichendorff-gymnasium.de$request_uri;

auszukommentieren (ist # da das richtige Zeichen?), hat aber nix gebracht. Halte ich die Dockercontainer an, habe ich das gleiche Problem (was ich nicht verstehe).

Danke und Grüße
Max

Hallo Max,

ist der apache nötig in der Zeit während das Cert aktualisiert wird?
Ich würde ihn beenden und dann nochmal versuchen.

LG

Holger

Hi Holger,
ich glaube, auf dem dockerhost (hatte ich mit dem ansible-script gemacht) läuft ein nginx.
Ich könnte den mal abschalten… hat aber nix gebracht…
:.(

Hallo Max,

da müsstest Du mal mehr aus der Nginx-Konfiguration posten.

Klappt denn die Weiterleitung der Challenge? Du kannst das testen, indem Du die URL (zuhause) im Browser aufrufst. Entscheidend ist, ob auf https umgeleitet wird.

Beste Grüße

Jörg

Hallo Jörg,

Wenn ich die challenge im Browser aufrufe, ich denke, das ist
http://wiki.eichendorff-gymnasium.de/.well-known/acme-challenge/hhgRKfRJ9rcADH54GQHkt_4fodMumjd71Uta2H6-KJA
kommt 404 Not Fount NGINX und so weiter…

die /etc/nginx/sites-enabled/default sieht (ohne die Kommentarzeilen) so aus:

server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name _;
location ^~ /.well-known/acme-challenge {
alias /var/www/dehydrated;
}

location / {
try_files $uri $uri/ =404;
}
}

letzteres Verzeichnis ist jedoch leer.
Erstelle ich da einen index.html mit Inhalt „Hallo“ und rufe
http://mrbs.eichendorff-gymnasium.de/.well-known/acme-challenge/index.html
auf, kommt ebenfalls Fehler 404
Oder kann man das nur machen, während der dehydrated nach Ergebnissen sucht? Weil eigentlich sollte es ja standardmäßig eine https-Umleitung geben… Und ich weiß auch nicht, ob er überhaupt da nachschaut, wenn der docker läuft…
Muss der docker dazu aus sein? Aber auch dann gehts bei mir nicht.
LG
Max

Hallo Max,

die Challenge liegt da natürlich nur, während Dehydrated arbeitet. Was
aber dennoch funktionieren sollte, ist die Weiterleitung nach https.

Wenn ich die Seite aufrufe, dann klappt die Weiterleitung weder bei der
Challenge noch bei http://wiki.eichendorff-gymnasium.de. Dort kommt auch
nur die Nginx-Standardseite.

Offenbar liefert der Server die Challenge aber auch nicht auf Port 80 aus.

Mein Tipp wäre: Fang nochmal mit einer frischen Nginx-Konfiguration an.
Danach kannst Du Dich schritt für Schritt vortasten:

  • Normale Webseiten auf Port 80
  • Die Dehydrated auf Port 80
  • Webseiten per https (also direkt, ohne Redirect)
  • Normale Seiten mit Redirect 80->443
  • Dehydrated mit Redirect

Viele Grüße

Jörg