Ich habe eine Website eingerichtet mit Nginx als Reverse-Proxy zu Apache 2.2, die PHP ausgeführt wird. Aus der Sicht von Apache und PHP ist die IP-Adresse aller Anfragen der nginx-Server. Ich möchte, dass PHP die gleiche Remote-IP sieht, die nginx sieht.Wie man REMOTE_ADDR in Apache setzt, bevor php aufgerufen wird
Nginx setzt einen Header X-Real-IP, der die Remote-IP enthält, die nginx sieht. Ich habe versucht, in der Apache conf so etwas wie dies zu tun:
SetEnvIf ^X-Real-IP$ "(.+)" REMOTE_ADDR=$1
Meine Hoffnung war, dass ich die REMOTE_ADDR Umgebungsvariable könnte und wenn PHP schließlich aufgerufen wird, würde es die Remote-IP sehen, die nginx sieht. Ich denke, der PHP-Code macht das:
$_SERVER['REMOTE_ADDR']
Wie auch immer, das funktioniert nicht. Irgendwelche Ideen? Können Sie REMOTE_ADDR nicht in der Apache-Konfigurationsdatei einstellen? Vielen Dank.
+1 Schön! Das ist gut zu wissen. Auch wenn der Name des Moduls klingt, als würde jemand in Cartoon-Sprache jemanden auf die Wange schlagen :) –
Als Nebenbemerkung: Ich habe noch nie von diesem Modul gehört; nicht sicher, ob es gut unterstützt wird/stabil/gepflegt/... ;; * nein, der Name klingt witzig ^^ nicht unbedingt eine schlechte Sache * –
Ich bin mir sicher, dass bei einem Haufen "Clever & Smart" Comics, könnte ich das Wort irgendwo in einer gewalttätigen Szene verwendet finden. Zur Veranschaulichung: http://www.pekkagaiser.com/stuff/cleversmart.jpg (Es ist deutsch, aber es spielt keine Rolle.) –