Wordpress lässt sich wunderbar mit Nginx nutzen. Ein paar Feinheiten gibt es zu beachten, damit die Wordpress-Instanz mit einem Nginx als Reverse Proxy reibungslos läuft.
Häufig wird Nginx sowohl als Reverse Proxy, als auch als Backend-Server eingesetzt. Während die Kommunikatiotion zwischen Webbrowser und dem Reverse Proxy oftmals verschlüsselt statt findet, kommunizieren Proxy und Backend-Server der Einfachheit halber meist unverschlüssselt. Nun muss Wordpress aber wissen, ob der Datenverkehr verschlüsselt ist oder nicht. Da nur der Reverse Proxy von der verschlüsselten Verbindung weiß, sollte er diese Information an den Backend-Server weiter geben. Dazu kann ein zusätzlicher X-Forwarded-Proto
-header definiert werden, der anschließend zwischen den Servern ausgetauscht wird.
Der Reverse Proxy wird so konfiguriert, dass er den zusätzlichen Proxy-Headers an den Backend-Server übermittelt:
proxy_set_header X-Forwarded-Proto $scheme;
In der nginx.conf
wird zunächst ein Mapping definiert:
map $http_x_forwarded_proto $forwarded_https { default off; https on; }
Nun wird in der fastcgi-Konfiguration definiert, welchen Wert die neue Variable erhalten soll:
fastcgi_param HTTPS $forwarded_https;