Назад | Перейти на главную страницу

Прокси-сервер Apache не передает X-Forwarded-For

Я переношу некоторые сайты с одного сервера на другой. Чтобы избежать простоев, я проксирую перемещенные сайты через старый сервер во время обновления DNS.

На исходном (прокси) сервере у меня есть следующее:

    <VirtualHost *:80>
        Servername www.mydomain.com
        DocumentRoot /var/www/mydomain.com

        ProxyPass / http://my-new-server-ip-address/
        ProxyPassReverse / http://my-new-server-ip-address/
        ProxyPreserveHost On
    </VirtualHost>

На новом сервере я использую mod_remoteip (Apache версии 2.4.7) и имею следующее:

<VirtualHost *:80>
        Servername www.mydomain.com
        DocumentRoot /var/www/mydomain.com

        RemoteIPHeader X-Forwarded-For
        RemoteIPTrustedProxy my-old-server-ip-address

        LogFormat "%a %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" (proxy)" proxy

        SetEnvIf X-Forwarded-For "/.*/" forwarded
        # just testing for anything here!!

        CustomLog /var/log/mydomain.com/access.log combined env=!forwarded
        CustomLog /var/log/mydomain.com/access.log proxy env=forwarded
</VirtualHost>

Я пытаюсь добиться того, чтобы при проксировании запроса использовался другой журнал, а не прямой запрос с нового сервера. Журнал «прокси» никогда не запускается, что заставляет меня думать, что заголовок «X-Forwarded-For» не отправляется исходным сервером. Документы apache Вот заявить, что "X-Forwarded-For" - один из установленных заголовков.

Я знаю, что мне не хватает чего-то очевидного, но любая помощь будет принята с благодарностью!