在Vaadin中获取apache / tomcat设置(mod_jk)后面的IP地址总是给出服务器的IP地址

时间:2018-03-11 08:49:47

标签: java apache tomcat vaadin vaadin8

使用推荐的Vaadin代码在前面的apache和使用mod_jk后面的tomcat的设置中获取IP地址总是会获得服务器的IP地址:

Page.getCurrent().getWebBrowser().getAddress();

我抓住this snippet解释了它,因为连接来自Apache,这是有道理的,但这个解决方案也不起作用。

因此,我的问题是当tomcat服务器使用mod_jk支持apache时,如何在Vaadin 8中获取实际用户的IP地址?

1 个答案:

答案 0 :(得分:0)

String header = VaadinService.getCurrentRequest().getHeader("x-forwarded-for");
if(header == null || "".equals(header)
    return "";
return InetAddress.getByName(header).getHostAddress();

最好进行空字符串检查,以防万一NullPointerException问题。