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

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;
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容