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