ich habe hier gerade eine Umgebung, wo recht veraltete Betriebssysteme(Natürlich ist das Mist!) im Einsatz sind. D. h. da geht let's Encrypt nur mit grossen Schwierigkeiten.
D. h. ich habe mir mal die Möglichkeit angeschaut, wie ich - auf allen Seiten mit Apache im Einsatz - per Reverse-Proxy alle Let's Encrypt - Request zu einer zentralen VM umleiten kann, die so dann für alle Server Zertifikate erzeugen kann. Das ging einfacher als gedacht.
Hier mal als vorläufige Kurzanleitung für Stretch als LE-Server und im Beispiel ein halbwegs aktuelles Debian als Webserver, auf dem die Domain liegt:
A. Den Let's Encrypt server vorbereiten
- Den Server mit aktuellem Debian/Ubuntu installieren und
apache2
- Das Paket
letsencrypt installieren.
- Ein Verzeichnis für lets Encrypt erstellen install -d -m 0755 -g www-data -o www-data /var/www/acme-challenge
- Eine Apache - Konfiguration(Vhost-übergreifend) erstellen in /etc/conf-available/certbot.conf
Code: Alles auswählen
<IfModule mod_headers.c> Alias "/.well-known/acme-challenge/" "/var/www/acme-challenge/.well-known/acme-challenge/" <Directory "/var/www/acme-challenge/"> Allow from all AllowOverride None Options FollowSymLinks </Directory> </IfModule>
- Konfig aktivieren: a2enconf certbot
- Apache headers modul aktivieren a2enmod headers
- Apache neustarten systemctl restart apache2
Jetzt wird der Webserver vorbereitet, auf dem die Domain derzeit eingerichtet ist.
- Neue Vhost-übergreifende Konfiguration erstellen in /etc/apache2/conf-available/certbot_reverse_proxy.conf
Code: Alles auswählen
<Location "/.well-known/acme-challenge/"> Allow From All ProxyPass http://mein-letsencrypt-server.domain.tld/.well-known/acme-challenge/ ProxyPassReverse http://mein-letsencrypt-server.domain.tld/.well-known/acme-challenge/ </Location>
- Konfig aktivieren: a2enconf certbot_reverse_proxy
- Apache Module aktivieren(weiss nicht ob die wirklich alle nötig sind):
a2enmod proxy proxy_http rewrite deflate headers proxy_connect proxy_html headers - Apache neu starten
Code: Alles auswählen
letsencrypt certonly --webroot -d meinedomain.de -d www.meinedomain.de -w /var/www/acme-challenge
- Nachdem auf dem Webserver alle Requests auf den Let's Encrypt Server weitergeleitet werden, funktioniert auf dem Webserver keine sonstige Let's Encrypt Software mehr.
- Die Direktive Allow From All ist in neuen Apache Versionen ohne das Apache-Modul access_compat zu ersetzen durch Require all Granted
- Vor jeder Neustart des Apache-Webservers ist grundsätzlich ein apachectl configtest zu empfehlen. Damit vermeidet man sehr einfach, dass ein Webserver wegen Konfigurationsfehlern erst mal down ist.
- Im Übrigen empfehle ich auch die Verwendung von etckeeper um schnell fehlerhafte Konfiguration rückgängig machen zu können.