WordPress hinter Reverse Proxy
Ich habe heute in der Firma die Webseite umgezogen und da diese sich nun eine IP mit anderen Seiten teilen muss, läuft sie hinter einem Reverse Proxy (nginx). Die Verbindung zwischen Proxy und Webseite läuft dabei über HTTP.
Wenn ich die Seite aufrufen wollte, lief der Browser laufend in einen Redirect Loop und ich wusste nicht wieso. Eine Seite, ebenfalls WordPress, die ich parallel auf das selbe System umgezogen habe, funktionierte ohne Problem mit der identischen Konfiguration. Nachdem ich alles andere ausgeschlossen hatte, kam mir der Gedanke das womöglich WordPress selbst für den Loop verantwortlich ist und tatsächlich, es war so. Der Unterschied zu der anderen WordPress Installation war, folgende Konfiguration in der wp-config.php:
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
$_SERVER['HTTPS'] = 'on';
Kein Plan wieso das bei der einen Installation enthalten war und der anderen wieder nicht. Eventuell gab es bei der Installation einen Diese Seite befindet sich hinter einem Reverse Proxy Button, an den ich mich nicht erinnere. Allerdings weiß ich nicht wieso ich das dann bei der einen Installation ausgewählt haben soll und bei der anderen nicht, da beide vorher nicht hinter einen Reverse Proxy liefen.
Natürlich muss auch vom Reverse Proxy der Header entsprechend gesetzt werden, damit es funktioniert, was man in Nginx z.B. wie foglt tut:
proxy_set_header X-Forwarded-Proto $scheme;