Lets's Encrypt Fehler (ACME-Challenges) - Invalid response

  • Guten Abend,


    da ich weder in meinem anderen Thread seit zwei Wochen Hilfe bekomme und ich auch per Mail keine Antwort erhalte, hier nochmal mein Problem mit Let's Encrypt:


    Nachdem ich sehr erfreut über das neue LiveConfig war, wollte ich auch direkt die neu eingebundene Let's-Encrypt Funktion nutzen. Da ich über das LiveConfig-Webinterface zuvor schon OwnCloud hab installieren lassen, wollte ich idealerweise diese Cloud dann auch über SSL laufen lassen.
    Leider bekomme ich beim Versuch, über ACME ein Let's Encrypt Zertifikat auf die Subdomain (wo OwnCloud läuft) zu installieren, eine Fehlermeldung.


    In LiveConfig direkt steht (sicherheitshalber einen Buchstabencode durch x ausgetauscht):
    Fehler: Invalid response from http://cloud.tobiaswaldenmaier…l-known/acme-challenge/xx[149.202.17.132]: 403


    Wenn ich diese URL aufrufe kommt:
    Forbidden
    You don't have permission to access /.well-known/acme-challenge/xxxxxxxxxxxxxxxxxxxxxxxxx on this server.



    Ich verstehe nicht, wie ich das beheben kann? Durch diesen Punkt kann man ja schon ableiten, dass das betroffene Verzeichnis verborgen ist. Leider habe ich daher, dass es nur ein Webspace ist, keine Möglichkeit, hier irgendwie per SSH o.ä. was zu machen.


    Ich konnte nun ausschließen, dass es an owncloud liegt. Auch bei einer neu angelegten Subdomain, die auf ein neu angelegtes Verzeichnis leitet, kommt dieser Fehler.


    Im letzten LiveConfig Update wurde ja bezüglich dieser Permissionsprobleme bei den ACME-Challenges schon einiges gemacht, anscheinend aber noch nicht alles behoben. Besteht eine Idee, bzw. schon eine Vermutung, durch welche das Problem in einem der nächsten Updates behoben wird?


    Viele Grüße und schönen Abend

  • Wenn Sie via LiveConfig en Let's Encrypt-Zertifikat anfordern, passiert Folgendes:

    1. LiveConfig fordert via Let's Encrypt einen Authentifizierungs-Token für die Domain an
    2. diesen Token verwendet LiveConfig anschließend, um die vHost-Konfiguration für die Prüfung durch Let's Encrypt anzupassen. Konkret wird also in /etc/apache2/sites-enabled/<Vertrag>.conf ein Abschnitt für "/.well-known/acme-challenge/<Token>" eingefügt.
    3. ca. 90 Sekunden nach dieser Änderung triggert LiveConfig bei Let's Encrypt die Prüfung dieses Tokens an (90 Sekunden deshalb, weil es bis zu 60 Sekunden dauern kann bis die neue Apache-Konfiguration aktiv ist).
    4. wenn die Authentifizierung abgeschlossen ist (egal ob erfolgreich oder erfolglos) wird der ".well-known/acme-challenge/"-Abschnitt wieder aus der vHost-Konfiguration entfernt.


    Gehen Sie bitte im LiveConfig noch mal auf "SSL-Zertifikate", öffnen das (bislang unvollständige) Zertifikat und klicken erneut auf "speichern".
    Unter "Berichte" -> "ACME-Zertifikate" sollten Sie dann neue Einträge mit dem Status "pending" sehen. Gleichzeitig sollte die Konfigurationdatei /etc/apache2/sites-available/<Vertrag>.conf aktualisiert werden. Wenn alles klappt müsste nach ca. 2-3 Minuten das Zertifikat ausgestellt sein.


    Viele Grüße


    -Klaus Keppler

  • Erstmal vielen lieben Dank für die sehr schnelle Antwort.


    Zum Einsatz kommt (Stand: gestern Abend) die Version 2.0.2 (r4019), was ja laut Internetseite die Aktuellste ist.
    Ich habe nun nochmal ganz normal ein Zertifikat beantragt. Dieses wurde wie erwartet als invalid eingestuft mit der oben genannten Begründung. Dann habe ich wie beschrieben das noch unvollständige Zertifikat nochmal geöffnet und auf "Speichern" geklickt. Unter "Berichte" stand es dann in der Tat wieder als "pending". Nach zwei Minuten allerdings wechselte der Status erneut zu "invalid".


    Allerdings haben Sie ja folgendes geschrieben:

    Zitat

    wenn die Authentifizierung abgeschlossen ist (egal ob erfolgreich oder erfolglos) wird der ".well-known/acme-challenge/"-Abschnitt wieder aus der vHost-Konfiguration entfernt.


    Da ich aber nach Aufruf des Links eine "Forbidden"-Seite bekomme, zeigt es mir ja, dass das Verzeichnis noch existiert - sonst müsste ich doch eine "Not Found"-Seite bekommen, oder?

  • Wenn Sie die "/.well-known/acme-challenge/"-URL geringfügig ändern (konkret: am Hash-Wert am Ende irgendeine Zahl austauschen), bekommen Sie dann immer noch einen 403 (Forbidden) oder einen 404 (Not Found)?


    Alternativ: stellen Sie Ihre Subdomain vorübergehend mal von der App (ownCloud) auf "Webspace" um und versuchen damit das Let's Encrypt-Zertifikat anzufordern (auch einfach wieder nur beim SSL-Zertifikat auf "speichern" klicken um eine neue Authorisierung auszulösen). Vielleicht beißt sich das .htaccess-File von ownCloud mit der Acme-Challenge.

  • Ich habe es leider auch schon mit ganz "leeren" Subdomains versucht, mit vollständigen Domains die auf WordPress leiten usw. - überall das selbe Problem.


    Wenn ich den Hash-Wert verändere, dann bekomme ich einen 404 (Not Found). Was ich auch erwähnen sollte: Nachdem ich nochmal das unvollständige Zertifikat geöffnet hatte und auf "Speichern" geklickt hatte (und somit der ganze Prozess neu gestartet wurde), bekomme ich nun unter dem auf der ACME-Seite angegebenen /.well-known/ Link auch eine Not Found Seite - sprich diesmal wurde das Verzeichnis anscheinend automatisch entfernt.

  • Ist in der Entwicklung eigentlich etwas mit Problemen bekannt? Ich kenne noch zwei weitere Personen mit jeweils eigenem Server, die auch Probleme mit Let's Encrypt haben. Man sieht ja hier, dass der Großteil keine Probleme hat, nur da es noch Leute (wie auch ich) gibt, die das nicht nutzen können, würde mich nur mal interessieren, ob es da beispielsweise eine große Reihe Bugfixes in 2.1 gibt (Beta wurde ja angekündigt).

  • So, der Hoster hat heute Nacht auf 2.1 aktualisiert.


    Beim ersten Versuch, nun ein Zertifikat hinzuzufügen, kam erstmal wieder ein invalid-Status mit der .well-known Fehlermeldung.


    Doch ab dem zweiten Versuch hat es dann geklappt - bei drei Zertifikaten bislang problemlos.


    Vielen Dank für die schnelle Behebung!


  • [*]ca. 90 Sekunden nach dieser Änderung triggert LiveConfig bei Let's Encrypt die Prüfung dieses Tokens an (90 Sekunden deshalb, weil es bis zu 60 Sekunden dauern kann bis die neue Apache-Konfiguration aktiv ist).


    Ist dieser Wert irgendwo konfigurierbar? Ich habe eine recht umfangreiche Config mit sehr vielen Domains, seit der Umstellung des webs auf FastCGI (das hat es nochmal weiter aufgebläht) scheint da der Apache länger als die 90 Sekunden zu brauchen, bis die Apache-Config aktiv wird.


    Ich erhalte jedenfalls ebenfalls immer wieder die Meldung "Invalid Response" und im access.log ist auch ein Error 404 für die Abfrage zu sehen. Wenn ich "/.well-known/acme-challenge/usw" versuche manuell parallel aufzurufen lässt es sich auch im Browser nachvollziehen. Warte ich etwas, kann ich es im Browser problemlos aufrufen, aber die LE-Überprüfung ist dann bereits fehlgeschlagen - daraus schließe ich, dass es bei mir aufgrund des Umfangs der Apache-Config einfach zu lange dauert, bis diese aktiv ist.


    Ich hab mir jetzt beholfen, in dem ich in der .httpd.conf im Web ein


    Zitat

    AliasMatch "^/.well-known/acme-challenge/(.*)$" "/var/www/web1/conf/acme/$1"


    aufgenommen habe - das scheint auch zu funktionieren, damit gibt es bis jetzt jedenfalls keine solchen Probleme mehr. Allerdings bin ich mir nicht ganz sicher, ob das nicht ggf. andere Nachteile mit sich bringt, wenn ich irgendwo einstellen kann dass LE einfach etwas länger mit der Überprüfung des tokens wartet fände ich das eleganter.

  • Letsencrypt hat bisher für 29 domains perfekt funktioniert :cool:
    Leider gibt es aber nun bei einer weiteren neuen Domain die oben schon diskutierte Fehlermeldung „Invalid response“

    Zitat

    16.06.2019 07:44:22 23.06.2019 07:44:22 http-01 invalid
    Fehler: Invalid response from http://hausvier.de/.well-known…J5_JrCr4_-Ih-ZZDLle3ZJ1R0 [2a01:4f8:d0a:1080::2]: "<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">\n<html><head>\n<title>404 Not Found</title>\n</head><body>\n<h1>Not Found</h1>\n<p"


    Woran kann das liegen?

  • Danke für diesen Hinweis :)
    Die Überprüfung des DNS Eintrages hat ergeben, dass die IPv4 Adresse korrekt auf den LiveConfig Server zeigte - während die IPv6 Adresse noch auf andere Wege zeigte ..
    Nach Korrektur des IPv6 Wertes klappt mit Lets Encrypt wieder alles.

  • Ab v2.8 prüft LiveConfig übrigens selbst die IPs der Domains (mittels integriertem DNS-Resolver). Wenn einzelne IPs nicht stimmen oder es z.B. ein DNSSEC-Problem gibt, wird gar nicht erst eine Bestellung ausgelöst, sondern eine entsprechende Fehlermeldung angezeigt. Sobald die IP dann stimmt, wird die Bestellung automatisch fortgesetzt.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!