博客详情

nginx反向代理tomcat中获取客户端真实ip (原创)

作者: 朝如青丝暮成雪
发布时间:2017-09-16 15:36:24  文章分类:随手笔记   阅读(1475)  评论(1)

nginx是一款优秀的http服务器、MX邮件服务器和反向代理服务器。

nginx代理转发tomcat ,在tomcat中如何获取被nginx所代理的客户端ip而不是nginx自身的ip呢?

nginx.conf 配置 :

  location / {
                # 最重要的是下面这条配置 
                 proxy_set_header X-Real-IP $remote_addr;
                 proxy_set_header User-Agent $http_user_agent;
                 proxy_set_header Host $host;
                 proxy_set_header X-Forward-For $remote_addr;
                 proxy_pass http://127.0.0.1:8090/ ;
        }



java web 中获取客户端真实ip

/**
	 * 获取客户端ip
	 * @param request
	 * @return
	 */
	public static String getClientIp(HttpServletRequest request){
		String  header = request.getHeader("X-Real-IP");  
		if(StringUtils.isNoneBlank(header) && !header.equalsIgnoreCase("unkown")){
			return header;
		}
		header = request.getHeader("X-Forwarded-For");
		if (StringUtils.isNoneBlank(header) && !header.equalsIgnoreCase("unkown")){
			return header;
		}
		header = request.getHeader("Proxy-Client-IP");
		if (StringUtils.isNoneBlank(header) && !header.equalsIgnoreCase("unkown")){
			return header;
		}
		header = request.getHeader("WL-Proxy-Client-IP");
		if (StringUtils.isNoneBlank(header) && !header.equalsIgnoreCase("unkown")){
			return header; 
		}
		return request.getRemoteAddr();
	}
	





关键字:  nginx

上一篇:测试文章1

下一篇:rabbitMQ-3.6.1安装

评论信息
发表评论

亲,您还没有登陆,暂不能评论哦! 去 登陆 | 注册

博主信息
   
数据加载中,请稍候...
文章分类
   
数据加载中,请稍候...
阅读排行
 
数据加载中,请稍候...
评论排行
 
数据加载中,请稍候...

Copyright © 叮叮声的奶酪 版权所有
备案号:鄂ICP备17018671号-1

鄂公网安备 42011102000739号