获取request中的ip地址

获取request中的ip地址

  • 服务器获取用户请求中的ip地址
    • 直接访问
    • 通过代理服务器访问

服务器获取用户请求中的ip地址

服务器获取用户请求中的ip地址分为两种情况

1.客户端直接访问服务器资源
2.客户端访问反向代理服务器来访问服务器资源

直接访问

String ip = request.getRemoteAddr();

通过代理服务器访问

		 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("HTTP_CLIENT_IP");
         }

         if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getHeader("HTTP_X_FORWARDED_FOR");
         }

         if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getRemoteAddr();
         }

你可能感兴趣的:(迫于生计的Java旅程)