美文网首页
nginx反向代理获取客户端真实ip

nginx反向代理获取客户端真实ip

作者: 六层 | 来源:发表于2021-07-01 15:05 被阅读0次

    nginx的配置

    nginx.conf 配置

    添加如下代码

    proxy_set_header X-Real-IP $remote_addr;
    

    示例如下


    image.png

    代码

    private String getIPAddress(HttpServletRequest request){
    
            String ip = null;
            String ipAddress = request.getHeader("X-Forwarded-For");
            if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {
                ipAddress = request.getHeader("X-Real-IP");
            }
    
            if (ipAddress != null && ipAddress.length() != 0) {
                ip = ipAddress.split(",")[0];
            }
    
            //还是不能获取到,最后再通过request.getRemoteAddr();获取
            if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {
                ip = request.getRemoteAddr();
            }
            return ip;
        }
    

    相关文章

      网友评论

          本文标题:nginx反向代理获取客户端真实ip

          本文链接:https://www.haomeiwen.com/subject/qobjultx.html