Apache 代理服务器未通过 X-Forwarded-For

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”是一起设置的标题之一。

我知道我遗漏了一些明显的内容但如果有任何帮助我都会很感激!

相关内容