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.