У меня есть сайт, настроенный с nginx, действующий как обратный прокси для apache 2.2, на котором запущен php. С точки зрения apache и php IP-адрес всех запросов является сервером nginx. Я бы хотел, чтобы php увидел тот же удаленный IP-адрес, что и nginx.
Nginx устанавливает заголовок X-Real-IP, который содержит удаленный IP-адрес, который видит nginx. Я попытался сделать что-то подобное в apache conf:
SetEnvIf ^X-Real-IP$ "(.+)" REMOTE_ADDR=$1
Моя надежда заключалась в том, что я могу установить переменную среды REMOTE_ADDR, и когда php наконец вызывается, он увидит удаленный IP-адрес, который видит nginx. Я думаю, что php-код делает это:
$_SERVER['REMOTE_ADDR']
В любом случае, это не работает. Есть идеи? Не можете ли вы установить REMOTE_ADDR в конфигурационный файл apache? Спасибо.