Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
software:apache:reverse_proxy_ssl [2014/11/03 10:47] mhoffmann angelegt |
software:apache:reverse_proxy_ssl [2014/11/04 19:54] (aktuell) mhoffmann -htaccess methode hinzugefügt |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Apache 2 : Webanwendungen hinter SSL Reverse Proxy ====== | + | ====== Apache: SSL-Webanwendungen hinter Reverse Proxy ====== |
Möchte man eine Webanwendung (Beispielsweise Wordpress, Durpal, Magento) hinter einen Apache als Reverse Proxy betreiben, so wird man spätestens bei der Verwendung von SSL vor ein Problem gestellt: | Möchte man eine Webanwendung (Beispielsweise Wordpress, Durpal, Magento) hinter einen Apache als Reverse Proxy betreiben, so wird man spätestens bei der Verwendung von SSL vor ein Problem gestellt: | ||
Zeile 41: | Zeile 41: | ||
Damit enthält der HTTP-Header die Information, dass es sich um einen SSL-Request handelt. | Damit enthält der HTTP-Header die Information, dass es sich um einen SSL-Request handelt. | ||
- | ===== PHP-Anwendung konfigurieren ===== | + | ===== 1. Möglichkeit: PHP-Anwendung konfigurieren ===== |
Manche PHP-Webanwendungen überprüfen nur den eigentlichen Protocol-Header mit $_SERVER['HTTPS']. Mit einer kleinen If-Anweisung kann man das Problem einfach umgehen: | Manche PHP-Webanwendungen überprüfen nur den eigentlichen Protocol-Header mit $_SERVER['HTTPS']. Mit einer kleinen If-Anweisung kann man das Problem einfach umgehen: | ||
Zeile 53: | Zeile 53: | ||
Der Code prüft dann den vom Proxy veränderten/gesetzten HTTP-Header und setzt das HTTPS Global entsprechend. | Der Code prüft dann den vom Proxy veränderten/gesetzten HTTP-Header und setzt das HTTPS Global entsprechend. | ||
Dieses Snippet kann man zum Beispiel in die Datei ''wp-config.php'' einer Wordpress Installation einfügen, damit ein SSL-Backend funktioniert. | Dieses Snippet kann man zum Beispiel in die Datei ''wp-config.php'' einer Wordpress Installation einfügen, damit ein SSL-Backend funktioniert. | ||
+ | |||
+ | ===== 2. Möglichkeit: .htaccess konfigurieren ===== | ||
+ | Wenn man nicht im PHP-Code seiner Anwendung herumpfuschen will, dann kann man auch über die .htaccess Datei auf dem Backend-Server HTTPS vortäuschen. | ||
+ | |||
+ | Dazu genügt es folgende Zeile hinzuzufügen: | ||
+ | |||
+ | <code> | ||
+ | SetEnvIf X-Forwarded-Proto https HTTPS=on | ||
+ | </code> | ||
+ | |||
+ | Im Zusammenspiel mit der VHost Direktive auf dem Proxy sollte es nun keine Problem mehr geben |
Bei Verwendung dieses Wikis erklären Sie sich mit dem Haftungsausschluss, Nutzungsbedingungen und der Datenschutzerklärung dieses Wikis einverstanden. Impressum.