(反向代理)Apache REMOTE_ADDR 返回 (null)

(反向代理)Apache REMOTE_ADDR 返回 (null)

我有一台位于反向代理后面的服务器,需要客户端 IP 地址,为了实现这一点,我尝试使用下面的代码在请求标头中添加 X-Forwarded-For,

RequestHeader set "X-Forwarded-For" %{REMOTE_ADDR}e

但是,上面几行并不发送客户端 IP 地址,而是发送(无效的)到服务器。

这是我的 VirtualHost 配置

<VirtualHost *:80>
    ServerName targetserver.com
    ServerAlias www.targetserver.com/
    ProxyPreserveHost On
    RewriteEngine On

    RequestHeader set "Host" "targetserver.com"

    RequestHeader set "X-Forwarded-For" %{REMOTE_ADDR}e
    #Header add "X-Forwarded-For" %{REMOTE_ADDR}e

    RewriteRule ^/(.*) http://targetserver.com/$1 [P,L]
    ProxyPassReverse / http://targetserver.com

</VirtualHost>

如何修复?或者,还有其他方法可以获取客户端 IP 地址吗?

相关内容