Как в Apache 2.4 заменить VirtualHost/SERVER_ADDR на значение заголовка X_SERVER_IP?
Здравствуйте.
Есть некий сервер Apache 2.4 + Nginx 1.10.
Как обычно, Nginx проксирует запросы в Apache, при этом прописана директива proxy_set_header X-Server-IP $server_addr;
В конфиге апач vhost прописан с директивой VirtualHost 127.0.0.1:8080
изменить её нельзя, конфигов много и сгенерированы они сторонним софтом.
Дальше есть PHP, который пытается получить переменную $_SERVER['SERVER_ADDR'], но получает в неё только 127.0.0.1, а не реальный IP виртуалхоста. Можно, конечно, получить $_SERVER['HTTP_X_SERVER_IP'], но переменная используется в стороннем софте, который не хотелось бы править после каждого обновления.
Вопрос: как в Апаче заменить значение VirtualHost заголовком X-Server-IP, чтоб в $_SERVER['SERVER_ADDR'] попадал корректный IP?
Хм, это уже вариант. Если туда прописать что-то вроде
if($_SERVER['SERVER_ADDR'] == '127.0.0.1' && isset($_SERVER['HTTP_X_SERVER_IP']))
$_SERVER['SERVER_ADDR'] = $_SERVER['HTTP_X_SERVER_IP'];
то вполне. Если не получится на уровне апача решить - так и сделаю. Спасибо