使用 mod_proxy 传递 IP 地址

使用 mod_proxy 传递 IP 地址

我有 Apache,可以mod_proxy将请求传递给 Tomcat。问题是,当我在托管于 Tomcat 的 Web 应用程序中获取与请求关联的客户端 IP 地址时,它始终返回 127.0.0.1。

Apache 是否可以让原始 IP 地址传递给 Tomcat?

答案1

X-Forwarded-For 环境变量也应默认使用 mod_proxy 设置

答案2

如果您想保留有关原始请求源 IP 地址的信息,我建议使用 mod_jk 或 mod_proxy_ajp。

答案3

您的配置应该包括ProxyPreserveHost On,类似于

<VirtualHost *:80>
  ServerName public.server.name

  ProxyRequests Off
  ProxyPreserveHost On

  <Proxy *>
    Order deny,allow
    Allow from all
  </Proxy>

  ProxyPass / http://localhost:8180/
  ProxyPassReverse / http://localhost:8180/
</VirtualHost>

看看我的stackoverflow 答案更多细节。

相关内容