Apache, Reverse-Proxy, Letsencrypt: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
PoC (Diskussion | Beiträge) (Neu) |
PoC (Diskussion | Beiträge) K (Typo) |
||
Zeile 1: | Zeile 1: | ||
Die Kombination aus '''Apache''', '''Reverse-Proxy'''-Funktionen und '''Letsencrypt''' unter einen funktionierenden Hut zu bekommen, ist nicht unbedingt einfach und intuitiv. | Die Kombination aus '''Apache''', '''Reverse-Proxy'''-Funktionen und '''Letsencrypt''' unter einen funktionierenden Hut zu bekommen, ist nicht unbedingt einfach und intuitiv. | ||
Gegeben sei ein Apache ''Virtual Host | Gegeben sei ein Apache ''Virtual Host'', der | ||
* http und https erreichbar sein soll, | * http und https erreichbar sein soll, | ||
* einen Redirect auf https durchführen soll, wenn die Server Root angesprochen wird, | * einen Redirect auf https durchführen soll, wenn die Server Root angesprochen wird, |
Version vom 4. März 2019, 14:40 Uhr
Die Kombination aus Apache, Reverse-Proxy-Funktionen und Letsencrypt unter einen funktionierenden Hut zu bekommen, ist nicht unbedingt einfach und intuitiv.
Gegeben sei ein Apache Virtual Host, der
- http und https erreichbar sein soll,
- einen Redirect auf https durchführen soll, wenn die Server Root angesprochen wird,
- implizit Letsencrypt (
.well-known
) aus diesem Redirect ausspart,
- implizit Letsencrypt (
- alle https-Requests per Reverse-Proxy auf einen anderen Host umleitet,
- Letsencrypt (
.well-known
) aus diesem Proxy-Redirect ausspart.
Konfiguration
Es werden lediglich die relevanten Parameter aufgezeigt, sowie solche, die kontextuell hilfreich sind.
<VirtualHost _default_:80> ServerName … <Location /> RewriteEngine on RewriteCond %{HTTPS} off RewriteRule ^$ https://%{HTTP_HOST}/ [L,R=301] </Location> </VirtualHost> <IfModule mod_ssl.c> <VirtualHost _default_:443> ServerName … ProxyPass /.well-known ! ProxyPass / http://otherserver.internal.example.com:80/ ProxyPassReverse / http://otherserver.internal.example.com:80/ </VirtualHost> </IfModule>
Der gesamte Abschnitt ist innerhalb einer VHost-Konfigurationsdatei untergebracht. Die Syntax für eine .htaccess-Datei unterscheidet sich leicht und wird hier nicht behandelt.
Weblinks
- RewriteRule Flags, Apache Dokumentation
- Serve all requests via proxy except a specific one, Serverfault
- mod_rewrite redirect all to https except one file, Stackoverflow