美文网首页
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