WebAuthenticationDetails getRemoteAddress()不返回客户端的真实IP地址

时间:2013-09-19 08:46:54

标签: spring spring-security

我在我的应用程序中使用WebAuthenticationDetails。即使我从不同的客户端计算机登录应用程序,WebAuthenticationDetails的getRemoteAddress()方法返回相同的IP地址。这可能是由于代理服务器。有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

如果你的应用程序在reverse proxy(例如nginx,Apache等)后面工作,那么你将始终在WebAuthenticationDetails对象中看到反向代理机器的IP。要解决此问题,您可以配置反向代理,使其使用HTTP标头将客户端的IP地址发送到应用程序服务器。然后在你的webapp中从这个标题中获取clinet的IP。