获取通过nginx转发的请求IP地址

原创
2017/01/16 15:32
阅读数 1.1W

获取真实ip地址

private String getRequestRealIp(HttpServletRequest request)

     {

       String ip = request.getHeader("x-forwarded-for");

       if ((ip != null) && (ip.contains(","))) {

         ip = ip.split(",")[0];

       }

       if (!checkIp(ip)) {

         ip = request.getHeader("Proxy-Client-IP");

       }

       if (!checkIp(ip)) {

         ip = request.getHeader("WL-Proxy-Client-IP");

       }

       if (!checkIp(ip)) {

         ip = request.getHeader("X-Real-IP");

       }

       if (!checkIp(ip)) {

         ip = request.getRemoteAddr();

       }

       return ip;

     }

    private static boolean checkIp(String ip)

     {

       if ((ip == null) || (ip.length() == 0) || ("unkown".equalsIgnoreCase(ip))) {

         return false;

       }

       return true;

     }

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部