`
rguess
  • 浏览: 70287 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类

nginx代理tomcat系统不能获取真实ip解决办法

    博客分类:
  • web
阅读更多
nginx代理tomcat的时候,tomcat获取的客户端不是客户端传过来的ip,出现这种情况的原因很明显,nginx作为代理服务器先拦截客户端发来的请求,它再以localhost的身份转发给tomcat去处理。解决办法在nginx配置中的location节点中加入以下:
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header REMOTE-HOST $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

java可以这样获取远程ip
public static String getIpAddr(HttpServletRequest request) {
        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("WL-Proxy-Client-IP");
        }
        if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getRemoteAddr();
        }
        return ip;
}

来自个人博客 :http://www.rguess.com/blog/article/48.html 求关注
OK!
0
0
分享到:
评论
2 楼 rguess 2014-06-16  
..不知道
1 楼 酷的飞上天空 2014-06-14  
可以伪造http头的x-forwarded-for参数值,发送给你一个自己随便弄得假IP,这个如何防范。

相关推荐

    linux下Nginx+tomcat整合的安装与配置

    # 获取真实IP proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 获取代理者的真实IP client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_time...

    dns+nginx+tomcat实现https

    `http_realip_module`用于获取客户端的真实IP地址。 接下来,通过`make`和`make install`命令完成编译安装过程。 ##### Nginx配置文件详解 接着,我们来看一下具体的Nginx配置文件内容: ```nginx upstream ...

    linux下Nginx+tomcat安装与配置

    # 获取真实 IP # proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 获取代理者的真实 IP client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout...

    linux下Nginx+tomcat整合的安装与配置.docx

    # 获取真实IP #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 获取代理者的真实IP client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_time...

    nginx实现tomcat动静分离详解

    对于动态资源请求(如以.jsp结尾的请求),使用proxy_pass指令将请求转发到Tomcat服务器,并进行相应的头信息设置,以便Tomcat能够获取用户的真实IP地址等信息。 4. 设置客户端请求和连接的超时时间、代理服务器...

    nginx配置负载均衡和反向代理示例.txt

    ### Nginx配置负载均衡与反向代理知识点详解 #### 一、理解负载均衡与反向代理 在深入了解本文档中的具体配置之前,我们首先来了解一下负载均衡与反向代理的基本概念。 **负载均衡**是一种分布式系统设计的技术,...

    详解实现Nginx+Tomcat实现单IP、多域名、多站点的访问

    其中Host头部信息会被设置为当前请求的域名,X-Real-IP和X-Forwarded-For则分别用于获取客户端的真实IP和经过代理的IP,这在Web应用需要获取用户真实IP时非常有用。 值得注意的是,在使用Nginx与Tomcat配置单IP多...

    idea,java获取ip地址

    当我们构建一个基于Servlet的Web应用程序时,有时需要获取访问用户的真实IP地址,这在处理用户请求、日志记录或者实现地理位置相关的功能时尤为关键。 Servlet是Java服务器端的一种组件,它扩展了Web服务器的功能,...

    获取客户端IP地址所需Jar包

    然而,在某些情况下,如通过反向代理服务器(如Nginx、Apache)或负载均衡器访问时,这个方法可能返回的是代理服务器的IP而非客户端的真实IP。这时,我们需要检查X-Forwarded-For头部,该头部通常包含了客户端的IP...

    Nginx反向代理springboot的jar包过程解析

    Nginx反向代理springboot的jar包过程解析涉及多个知识点,其中主要包括springboot应用部署方式、Nginx反向代理的工作原理以及Nginx的配置方法等。 首先,springboot项目部署主要有两种方式:一种是将项目打包为war...

    nginx-1.10.0

    1. **反向代理**: Nginx作为反向代理服务器,可以将用户的请求转发到后端的应用服务器,如Apache或Tomcat,从而隐藏了真实的服务器集群,实现负载均衡,提高系统的可用性和响应速度。 2. **负载均衡**: Nginx可以...

    誉天邹-Nginx网站架构1-5

    通过对Nginx的学习和实践,不仅可以提升个人的技术能力,还能帮助企业构建更加稳定高效的网站系统。随着互联网技术的不断发展,Nginx的应用场景也将越来越广泛,掌握这些知识对于IT专业人士来说具有重要意义。

    nginx高级知识.pdf

    nginx 高级知识点总结 一、Location 匹配规则 * 精准匹配 > 普通匹配 > 正则匹配(非正则除外) * Location 指令用于定义URI的匹配规则 * 可以使用正则表达式来匹配URI 二、代理传参 * proxy_pass 指令用于将...

    Nginx使用limit_req_zone对同一IP访问进行限流的方法

    当Nginx前有CDN等代理层时,`$binary_remote_addr`会是CDN的IP,无法获取到真实客户端IP。这时可以通过`map`指令获取原始用户IP: ```nginx map $http_x_forwarded_for $clientRealIp { "" $remote_addr; ~^(?P[0...

    nginx动静分离

    # 设置真实IP proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 设置转发地址 client_max_body_size 10m; # 客户端最大请求体大小 client_body_buffer_size 128k; # 请求体缓冲区大小 proxy_...

    运维142问不看一定后悔

    34. **反向代理与正向代理**:反向代理隐藏真实服务器,正向代理隐藏客户端。 35. **Squid、Varnish、Nginx对比**:Squid主要用于缓存,Varnish专注静态内容加速,Nginx多功能,兼顾反向代理和负载均衡。 36. **...

    Apache权威指南第三版

    书中会解释如何利用Apache作为反向代理,以及如何与其他服务器软件(如Nginx、Tomcat)协同工作,以实现复杂架构的部署。 总的来说,《Apache权威指南第三版》涵盖了Apache从基础到进阶的全面知识,无论你是新手...

    红蓝对抗之Windows内网渗透.pdf

    红蓝对抗是一种模拟真实网络安全攻防的演练方式,旨在通过模拟攻击者(红队)与防守者(蓝队)的对抗,检验和提升组织的网络安全防御能力。Windows内网渗透涉及的领域广泛,主要包括信息收集、传输通道建立、权限...

    渗透测试面试题2019版.pdf

    - 获取真实的IP地址、操作系统类型和版本、开放端口列表、Web应用防火墙(WAF)等。 - 通过这些信息可以帮助我们更好地了解目标系统的整体环境,从而制定更有效的测试策略。 - **网站指纹识别** - CMS(内容管理...

    Jpom项目监控软件-其他

    【Server】文件管理列表不能正常加载二级以上的目录 【Server】添加监控判断用户是否配置报警联系方式 【Server】初始化安装不能自动登录 【Server】页面组件采用国际化采用 zh_cn 【Server】服务器中验证码无法加载...

Global site tag (gtag.js) - Google Analytics