[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Apache: Zugriffe auf /.well-known/acme-challenge/ fuer alle VirtualHosts abfangen und umleiten


Hallo Raphael,

ich kann dir zwar nicht sagen wo der Denkfehler liegt, aber ich habe evtl.
eine andere Loesung fuer das Problem. Ich stand vor einer aehnlichen
Herausforderung und hatte auch keine Lust hier redundant irgendwelche Configs
und Challange Files zu pflegen.

Ich dachte mir da muss es doch einen anderen Weg geben und am sinnvollsten
ueber DNS. Nach etwas Recherche bin ich dann auch auf eine passende Loesung
gefunden, die noch mehr an Comfort bietet:
https://github.com/lukas2511/letsencrypt.sh
https://github.com/lukas2511/letsencrypt.sh/blob/master/docs/dns-verification.md

Das Script unterstuetzt nicht nur eine Challange ueber DNS, sondern
automatisiert das ganze auch noch. Man muss nur in einer Text-Datei
(domains.txt) alle (Sub-)Domains inkl. "Alternative Names" eintragen, fuer die
man ein Zertifikat benoetigt, und das Script fuehrt dann folgende Steps durch:
1)
Pruefung, ob ein Zertifikat fuer die Domain mit allen Alt. Names vorhanden ist
(kam ein Alt. Name dazu oder ist weggefallen wird ein neues Zertifikat
erstellt) und ob ob noch ein vorgegebene Zeit (Default: 30 Tage) gueltig ist.
=> Ist das Zertifikat nicht vorhanden oder nicht lange genug gueltig wird ein
neues Zertifikat erstellt bzw. das vorhandene erneuert.
2)
Es wird ein Challenge Token fuer alle Domains und Alt. Names erstellt und als
TXT-Eintrag im Nameserver eingetragen.
3)
Es wird ein Zertifikat bei Let's Encrypt beantragt und dann von dort der
TXT-Eintrag zur Verifikation abgefragt.
4)
Das Zertifikat wird erstellt und signiert.

Ich habe so am Wochenende meine Zertifikate von StartSSL auf Let's Encrypt
umgestellt. Du muss nur beachten, dass es Limits gibt
(https://community.letsencrypt.org/t/rate-limits-for-lets-encrypt/6769).

Beispiele fuer DNS Hook Scripts:
https://github.com/lukas2511/letsencrypt.sh/wiki/Examples-for-DNS-01-hooks


Viele Gruesse
Tom


Am 01.04.2016 um 15:54 schrieb Raphael Eiselstein:
> Hallo zusammen,  > > ich versuche sinngemaess folgendes zu loesen: > > Alle
> Zugriffe fuer
alle VhirtualHosts eines Apache-Servers sollen > grundsaetzlich nicht im
jeweiligen VirtualHost Context verarbeitet werden > sondern global abgefangen
und umgeleitet werden. > > Hintergrund ist, dass ich auf einem Webserver etwa
27 VirtualHosts habe, > die allesamt nur Reverse Proxies sind, d.h. es gibt
fuer diese VirtualHosts > kein DocumentRoot. Fuer "Let's encrypt" brauche ich
aber die Moeglichkeit, > Dateien ueber
http://www.example.com/.well-known/acme-challenge/xyz.txt > auszuliefern. Ergo
will ich alle Zugriffe, die auf diesem Reverse-Proxy > Server ankommen und mit
/.well-known/acme-challenge/ anfangen vorher > wegfischen und umleiten an
einem internen VHost > http://acme.sigsys.lan/www.example.com/xyz.txt > > > Im
gobalen server context habe ich dazu folgenden Versuch gestartet: > >
-------------------------- > RewriteEngine on > > RewriteCond "%{HTTP_HOST}"
"^(.*)$" > RewriteCond "%{REQUEST_URI}" "^/.well-known/acme-challenge/(.*)" >
RewriteRule "^/.well-known/acme-challenge/(.*)" "http://acme.sigsys.lan/%1/%2";
[P] > > RewriteOptions InheritDown > -------------------------- > > * Das
erste RewriteCond verwende ich nur, um fuer das RewriteRule ein "%1" > zu
erhalten, also www.example.com oder www.anotherhost.example.com > > * Das
zweite RewriteCond soll alles fangen, was hinter >
/.well-known/acme-challenge/ kommt und in %2 speichern, also das > "xyz.txt"
im obigen Beispiel. > > Das gleiche habe ich auch nochmal in RewriteRule
stehen, das waere dann > als "$1" statt "%2" verfuegbar, entsprechend ebenfalls
"xyz.txt". > > "RewriteOptions InheritDown" soll angeblich bewirken, dass die
> rewrite-Rules in die Vhosts "vererbt" werden, aehnlich als wuerde ich in >
allen VirtualHosts jeweils "RewriteOptions Inherit" verwenden, was die >
Reqrite-Regeln aus dem Server-Context "erben" soll. > > Mein Problem ist, dass
obiges nicht funktioniert, es ergibt nicht einmal > Fehlermeldungen. Die
VirtualHosts reichen die Zugriffe auf > /.well-known/acme-challenge/xyz.txt
per ProxyPass an die Backend-Server > durch was in diesem Fall Bloedsinn ist. >
> Wo liegt mein Denkfehler? > > > Gruss > Raphael > > >

-- 
UUGRN e.V. http://www.uugrn.org/
http://mailman.uugrn.org/mailman/listinfo/uugrn
Wiki: https://wiki.uugrn.org/UUGRN:Mailingliste
Archiv: http://lists.uugrn.org/


-- 
UUGRN e.V. http://www.uugrn.org/
http://mailman.uugrn.org/mailman/listinfo/uugrn
Wiki: https://wiki.uugrn.org/UUGRN:Mailingliste
Archiv: http://lists.uugrn.org/