我有 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 答案更多细节。