Archive

Kategorien

WordPress hinter einem Proxy mit SSL

Wenn man WordPress hinter einem Proxyserver mit SSL betreiben will, dann hat man das Problem, dass Worpress von diesem SSL nichts sehen kann. Will man also in WP dann SSL erzwingen erstellt man sich eine RewriteRule und wundert sich dann wieso das in einem Loop endet.

Der Loop kommt daher, dass der Request eben nicht mit HTTPS beim WP ankommt. Denn das SSL wurde bereits auf dem Proxy terminiert. Jetzt schreibt die Rewrite-Regel den Request wieder auf https um und bekommt dann wieder einen http Request. Dann geht das Spiel wieder von vorne los. Das loopt bis in alle Ewigkeit 😉

Um das Problem zu umschiffen und das WP wissen zu lassen, dass die Verbindung sehr wohl verschlüsselt am Proxy angekommen ist, muss man erst den Proxy Server dazu bringen dem Request einen Header hinzuzufügen.
Bei nginx geht das z.B. so

proxy_set_header X-Forwarded-HTTPS on;
proxy_set_header X-Forwarded_Proto https;

oder im Apache

RequestHeader set X-Forwarded-Proto "https"

Dann kann man in wp-config.php folgendes einbauen

define('FORCE_SSL_ADMIN', true); 
define('FORCE_SSL_LOGIN', true); 
if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') $_SERVER['HTTPS']='on';

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre lang="" line="" escaped="" cssfile="">

  

  

  

13 − 3 =

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahren Sie mehr darüber, wie Ihre Kommentardaten verarbeitet werden .