使用推荐的Vaadin代码在前面的apache和使用mod_jk后面的tomcat的设置中获取IP地址总是会获得服务器的IP地址:
Page.getCurrent().getWebBrowser().getAddress();
我抓住this snippet解释了它,因为连接来自Apache,这是有道理的,但这个解决方案也不起作用。
因此,我的问题是当tomcat服务器使用mod_jk支持apache时,如何在Vaadin 8中获取实际用户的IP地址?
答案 0 :(得分:0)
String header = VaadinService.getCurrentRequest().getHeader("x-forwarded-for");
if(header == null || "".equals(header)
return "";
return InetAddress.getByName(header).getHostAddress();
最好进行空字符串检查,以防万一NullPointerException
问题。