我们的环境运行的是Sun java System Web server 7.0和Sun java System App server 9.1 (glassfish)。
我们需要根据客户端的IP地址在应用程序中执行一些访问控制检查。目前,当从应用程序调用request.getRemoteAddr()方法时,将返回web服务器的IP地址。该方法request.getHeader("HTTP_X_FORWARDED_FOR")返回null.
看起来web服务器在转发到应用服务器之前更改了报头。
是否有一种方法可以让Sun Java web服务器在请求中保留原始客户端IP地址?
请告诉我。
谢谢
尝试request.getHeader("x-forwarded-for")
。我在Squid上测试过。
您可以通过遍历request.getParameterNames()
来查看每个参数的名称。