spring mvc 获取nginx下用户真实ip
如果经过多台服务器Nginx转发,获取的ip内容类似这样218.5.70.170, 192.168.1.1,所以过滤掉空格取第1个就是。
private String getRemortIP(HttpServletRequest request) {
String ip = request.getHeader("x-forwarded-for");
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
ip = ip.replace(" ", "").trim();
if (StringUtils.isNotBlank(ip)) {
String[] ips = ip.split(",");
ip = ips[0];
}
logService.log(request.getRequestURL().toString(), request.getMethod(), ip, 0);
return ip;
}
- 版权所有:奇站网络 转载请注明出处
- 厦门奇站网络科技有限公司,专业提供网站建设,响应式网站建设,小程序开发,系统定制开发。
- 软件开发咨询热线:吴小姐 13313868605