【发布时间】:2013-07-11 09:58:45
【问题描述】:
我的 apache 中有这个设置,这工作正常,但是在我的应用程序中,当获取远程地址返回本地 IP(127.0.0.1)时,我该如何解决这个问题?
</Location>
</VirtualHost><VirtualHost *:80>
ServerName yourapp.yourdomain.com
ServerAlias yourapp.*
ProxyRequests Off
ProxyPreserveHost On
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /webapp http://localhost:8080/webapp
ProxyPassReverse /webapp http://localhost:8080/webapp
<Location /webapp>
Order allow,deny
Allow from all
</Location>
</VirtualHost>
【问题讨论】:
-
您需要在请求中使用
X-Forwarded-For标头。 Apache 应在代理期间添加此标头 -
我在哪里使用这个?你有一个例子吗?谢谢你!
-
谢谢@ColinMorelli 我找到了
request.getHeader("X-Forwarded-For") -
如果你使用它要小心,你可能不会得到你搜索的 IP(如果有多个 X-Forwarded-For 标头)。最好使用 Arun P Johnny 答案