Page 1 of 1

Let's Encrypt funktioniert bei Split-DNS nicht  [GELÖST]

Posted: Sat 29. Feb 2020, 17:13
by Blackmoon
Hallo zusammen,
es gibt zwei Internetseiten welche über Homepage-Baukasten bisher noch bereitgestellt werden. In diesem Fall soll KeyHelp bzw. Apache2 als Reverse Proxy agieren.

In der Datei /etc/hosts des KeyHelp-Servers wurden die IP-Adressen mit der domaina.de und domainb.de hinzugefügt. Grund dafür ist, dass der Webserver der Internetseiten ausschließlich auf die FQDN hört. In den DNS-Zonen des autoriven DNS-Server sind für domaina.de und domainb.de die IP-Adresse des KeyHelp-Servers eingetragen.

Im Protokoll der Wartungsaufgabe finde ich folgende Einträge:

Code: Select all

[29-Feb-2020 00:55:03] INFO  --> Token stored at: /home/keyhelp/www/.well-known/acme-challenge/local-check-5e59a857bc5f08.16044778
[29-Feb-2020 00:55:03] INFO  --> URL: http://domaina.de/.well-known/acme-challenge/local-check-5e59a857bc5f08.16044778 | HTTP code: 204 | HTTP body (first 100 chars): 
[29-Feb-2020 00:55:03] ERROR --> a Let's Encrypt error occurred: Local resolving checks failed for domain "domaina.de". Please ensure that your domain is locally resolvable
Gibt es eine Möglichkeit die Prüfroutine (local resolving) zu deaktivieren? Weil die Auflösung von LE wäre korrekt.

Grüße

Re: Let's Encrypt funktioniert bei Split-DNS nicht

Posted: Sat 27. Jun 2020, 11:09
by Blackmoon
Hallo in die Runde,
das Problem ist nach wie vor existent.
Aus welchen Grund wird durch KH eine Prüfung durchgeführt?


Grüße

Re: Let's Encrypt funktioniert bei Split-DNS nicht

Posted: Sun 28. Jun 2020, 07:55
by nevakee
Hast du mal geprüft, ob http://domaina.de/.well-known/acme-challenge/... auch auf dem Keyhelp Server bleibt und nicht vom Reverse Proxy mit auf dem Homepage-Baukasten "umgeleitet" wird?

Re: Let's Encrypt funktioniert bei Split-DNS nicht

Posted: Mon 29. Jun 2020, 10:10
by Alexander
Aus welchen Grund wird durch KH eine Prüfung durchgeführt?
Klar wäre es ein leichtes, die Prüfung mittels Checkbox generell zu überspringen, aber irgendwann kommt man bei zu vielen unberechtigten Anfragen bei der Let's Encrypt CA auch ins Rate-Limit. Und das könnte sich dann auf alle anderen Domains auf dem Server auswirken.

Der Grund warum die Prüfung durchgeführt wird ist, dass die Leute zuerst Ihre DNS/Webserver-Einstellungen korrekt einstellen sollten, bevor sie gegen die Let's-Encrypt Überprüfung rennen. (Damit will ich jetzt nicht pauschal sagen, dass deine Einstellungen inkorrekt sind.)

Überprüfe einmal, wie nevakee schreibt, was beim Aufruf der URL passiert.

Re: Let's Encrypt funktioniert bei Split-DNS nicht

Posted: Mon 29. Jun 2020, 21:18
by Blackmoon
Guten Abend.
Kommentiere ich nämlich die Einträge in der Datei /etc/hosts aus, so kann problemlos die Zertifikate abgerufen werden.
Meine Konfiguration ist daher in Ordnung.
Der Grund warum die Prüfung durchgeführt wird ist, dass die Leute zuerst Ihre DNS/Webserver-Einstellungen korrekt einstellen sollten, bevor sie gegen die Let's-Encrypt Überprüfung rennen. (Damit will ich jetzt nicht pauschal sagen, dass deine Einstellungen inkorrekt sind.
Könntest du dir einen Parameter/Schalter vorstellen, wo das Verhalten explizit ausgeschaltet werden kann? Gerne pro Domain, um so das Risiko zu minimieren?


Grüße

Re: Let's Encrypt funktioniert bei Split-DNS nicht

Posted: Mon 29. Jun 2020, 21:38
by Jolinar
Blackmoon wrote: Mon 29. Jun 2020, 21:18 Könntest du dir einen Parameter/Schalter vorstellen, wo das Verhalten explizit ausgeschaltet werden kann? Gerne pro Domain, um so das Risiko zu minimieren?
Ich befürchte, daß es sowas nicht gibt. :?

Zwei denkbare alternative Lösungsansätze:
  • Die beiden Webseiten auf den KH-Server umziehen. Dann mußt du garnicht frickeln.
  • Die beiden Webseiten auf dem jetzigen Hosting unter sub.domaina.de und sub.domainb.de erreichbar machen. Dann brauchst du die /etc/hosts nicht mehr und kannst die Domains mit Proxypass direkt auf die Subdomains weiterleiten.
    Wenn du jetzt noch auf dem aktuellen Hosting den Zugriff auf die Seiten mittels .htaccess auf den KH-Server beschränkst, sollte alles flutschen.

Re: Let's Encrypt funktioniert bei Split-DNS nicht

Posted: Mon 29. Jun 2020, 23:19
by Blackmoon

Code: Select all

Die beiden Webseiten auf den KH-Server umziehen. Dann mußt du garnicht frickeln.
Geht leider nicht. Es sind Homepage Baukasten und kein CMS.
Die beiden Webseiten auf dem jetzigen Hosting unter sub.domaina.de und sub.domainb.de erreichbar machen. Dann brauchst du die /etc/hosts nicht mehr und kannst die Domains mit Proxypass direkt auf die Subdomains weiterleiten.
Lässt der Webhoster auf Nachfrage leider auch nicht zu. Grund ist, dass der Homepage-Baukasten im Quellcode den absoluten Pfad verwendet und zwar von der angegebene Hauptdomain. Ändere ich dies ab erscheint zwar "nur" eine Warnung aber die Seite wird anschließend unvollständig dargestellt. Weil CSS, Javascript, etc... nicht mehr geladen werden kann.

Re: Let's Encrypt funktioniert bei Split-DNS nicht

Posted: Mon 29. Jun 2020, 23:39
by Jolinar
Blackmoon wrote: Mon 29. Jun 2020, 23:19 Lässt der Webhoster auf Nachfrage leider auch nicht zu. Grund ist, dass der Homepage-Baukasten im Quellcode den absoluten Pfad verwendet und zwar von der angegebene Hauptdomain. Ändere ich dies ab erscheint zwar "nur" eine Warnung aber die Seite wird anschließend unvollständig dargestellt. Weil CSS, Javascript, etc... nicht mehr geladen werden kann.
Das ist natürlich bescheiden. :cry:

Okay, eine Sache fällt mir grad noch ein...
Du könntest möglicherweise mit einem X-Forwarded-Host Header die Domain bei der Weiterleitung mitgeben und könntest so den Proxypass auf die IP zeigen lassen. Dann wäre auch hier die Frickelei mit der hosts-Datei überflüssig und dein KH-Server könnte problemlos die Certs ziehen.
Nagel mich aber nicht darauf fest, ich hab schon zu lange keine individuellen Proxy-Configs mehr gebastelt.

Re: Let's Encrypt funktioniert bei Split-DNS nicht

Posted: Tue 30. Jun 2020, 07:50
by Tobi
Der Proxy kann mehr als nur durchleiten.
Mittels SUBSTITUTE ist es möglich während der Durchleitung einzelne Teile der Seite zu ersetzen.

Hier mal ein Beispiel von einem ähnlichen Projekt.

Code: Select all


        SSLProxyEngine On
        ProxyPass / https://www.baukasten.de/
        ProxyPassReverse / https://www.baukasten.de/

        RequestHeader unset Accept-Encoding

        <Location />
                AddOutputFilterByType SUBSTITUTE text/html
                Substitute "s|https://www.baukasten.de/|https://www.meine-Domain.de/|i"
               
        </Location>


Auf diese Weise kannst du die komplette Webseite zur Not komplett umbauen.

Re: Let's Encrypt funktioniert bei Split-DNS nicht

Posted: Tue 30. Jun 2020, 23:44
by Blackmoon
Du könntest möglicherweise mit einem X-Forwarded-Host Header die Domain bei der Weiterleitung mitgeben und könntest so den Proxypass auf die IP zeigen lassen.
Die Header habe ich ebenfalls versucht - funktioniert nicht. Da stell ich mir allerdings die Frage, wie solche Header überhaupt geblockt werden kann. Normalerweise würde ich nun den technischen Support konsultieren, aber da ruscht nur der Satz "Ist nicht unterstützt" durch.
Mittels SUBSTITUTE ist es möglich während der Durchleitung einzelne Teile der Seite zu ersetzen.
Vielen Dank für den Hinweis. Schau ich mir am Weekend in Ruhe an.

Re: Let's Encrypt funktioniert bei Split-DNS nicht

Posted: Wed 1. Jul 2020, 07:50
by Tobi
Zu deiner Header-Frage.
Mit mod_proxy lassen sich auch sämtliche Header der Verbindung manipulieren und anpassen.

Wahrscheinlich musst du dich mit Trial&Error rantasten, grundsätzlich sollte es aber funktionieren.

Re: Let's Encrypt funktioniert bei Split-DNS nicht

Posted: Wed 1. Jul 2020, 20:20
by Blackmoon
Zu deiner Header-Frage.
Mit mod_proxy lassen sich auch sämtliche Header der Verbindung manipulieren und anpassen.
Ich bzw. auch mein Kollege haben mehrere Stunden probiert und überlegt. Haben es aber nicht zum Fliegen bekommen. Irgendwann steht der Aufwand zum Ergebnis nicht mehr im Verhältnis und daher Split-DNS.

Re: Let's Encrypt funktioniert bei Split-DNS nicht

Posted: Wed 1. Jul 2020, 21:32
by Tobi
Jaja die lieben Header haben auch mich verzweifeln lassen.

Erfolg brachte dann das hinzufügen von

Code: Select all

RequestHeader unset Accept-Encoding
RequestHeader unset Origin
RequestHeader set Referer https://www.zielserver.de/
Hattest du die probiert?

Re: Let's Encrypt funktioniert bei Split-DNS nicht

Posted: Fri 31. Jul 2020, 22:00
by Blackmoon
Leider bin ich erst heute Nachmittag im Rahmen einer Wartung dazu gekommen.

Diese sch*** Homepage Baukasten liefern gerade JS und CS Dateien über CDN wie Cloudfront ä.u. Innerhalb der Dateien steht wiederrum statisch der FQDN drin. Wir haben die Internetseite soweit inhaltlich zum Laufen bekommen. Aber das Design und Funktionen über JS haben alle samt nicht voll geladen. Über die Entwickler Konsole konnte man den Requests "live" mitfiebern und die Daumen drücken. Hat leider nichts gebracht.

Wir haben kurz um nun ein Bashskript geschrieben, dass nachts für x Minuten die Split DNS Konfiguration aufhebt, die Let's Encrypt Anfragen abarbeitet und anschließend die Konfiguration für die betroffenen Domains wieder aktiviert. Das Arbeitsleben ist kurz und es warten noch andere Probleme auf mich - leider. :roll:

Re: Let's Encrypt funktioniert bei Split-DNS nicht

Posted: Fri 31. Jul 2020, 22:11
by OlliTheDarkness
Blackmoon wrote: Fri 31. Jul 2020, 22:00 ...
Über die Entwickler Konsole konnte man den Requests "live" mitfiebern und die Daumen drücken. Hat leider nichts gebracht.
...
Tja , hättest bescheid gesagt hier im Forum hätten wir alle die Daumen gedrück.
Dann hätte es geklappt :P