Comment définir REMOTE_ADDR dans apache avant de php est appelé

J'ai un site web mis en place avec nginx agissant comme un reverse proxy apache 2.2, qui est en cours d'exécution de php. À partir de apache et php du point de vue de l'adresse IP de toutes les demandes est le serveur nginx. J'aimerais php pour voir la même IP distante que nginx voit.

Nginx jeux un en-tête X-Real-IP qui contient l'adresse IP à distance que nginx voit. J'ai essayé de faire quelque chose comme cela dans la conf apache:

SetEnvIf ^X-Real-IP$ "(.+)" REMOTE_ADDR=$1

Mon espoir était que je pourrais définir le REMOTE_ADDR variable d'environnement et lorsque php obtient finalement invoqué, il serait de voir les IP distante que nginx voit. Je pense que le code php est en train de faire ceci:

$_SERVER['REMOTE_ADDR']

De toute façon, ce n'est pas de travail. Des idées? Pouvez-vous ne pas définir REMOTE_ADDR dans le fichier de configuration d'apache? Merci.

OriginalL'auteur Russell Neufeld | 2010-02-24