`
langzhiwang888
  • 浏览: 182112 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

在java中得到通过nginx中转前的访客IP

 
阅读更多

现在nginx用到很普遍,如果这个时候我们在后端需要了解来访者的ip,直接用request.getRemoteAddr方法拿到是nginx服务器的ip,而非真正的来访者ip。

可以用如下方法:

第一步:在nginx.conf中配置反向代理时把真实IP带上,例如:  

server {  
  listen 80;  
  server_name scriptlover.com;  
  location ~ ^/(WEB-INF)/ {  
  deny all;  
}  

  location / {  
      proxy_pass http://localhost:8888;  
      proxy_set_header X-Real-IP $remote_addr;  
  }  
}  

第二步:应用程序中用 String ip = request.getHeader("X-Real-IP");替代String ip = request.getRemoteAddr();即可拿到真正的访客ip。

分享到:
评论

相关推荐

    java实现客户端上传图片到ftp服务器,nginx提供http服务下载图片

    在Java分布式项目中,涉及到客户端上传图片到FTP服务器并由Nginx提供HTTP服务进行图片下载,这是一个典型的文件传输和Web服务集成的场景。这里主要涉及三个关键知识点:Java FTP客户端编程、Nginx服务器配置以及Java...

    nginx-java开发版源码

    它的源代码是用C语言编写的,但在Java生态中,通过Nginx的模块化设计,可以使用Java来编写自定义模块,实现特定的功能需求。 描述中提到的“原生谈代理和转发的工具”,意味着这个包可能包含Nginx在代理和转发方面...

    nginx负载均衡后如何记录来访者IP访客IP浏览者的IP

    总的来说,通过在Nginx中设置`proxy_set_header`以及在后端服务器正确解析`X-Forwarded-For`头,我们可以确保即使在负载均衡环境中也能准确记录来访者的IP地址。这对于进行用户行为分析、安全监控和故障排查等任务至...

    nginx 限制ip、并发量、连接数等配置

    在Nginx配置文件(通常是`/etc/nginx/nginx.conf`或`/usr/local/nginx/conf/nginx.conf`)中,可以使用`allow`和`deny`指令来允许或禁止特定IP或IP段的访问。以下是一个示例: ```nginx server { listen 80; ...

    java面试——Nginx面试专题.zip

    在Java面试中,Nginx是一个经常被提及的技术点,特别是在高级面试中,因为它在分布式系统、高并发和负载均衡中的重要角色。本面试专题主要围绕Nginx的基础概念、功能特性、配置与优化以及其在Java应用中的作用展开。...

    java socket 用户真实IP测试

    在标题“java socket nginx tcp转发 用户真实IP测试”中,主要探讨的是如何在Java的Socket连接中,通过Nginx的TCP转发获取到实际用户的IP地址。 在描述中提到的博客文章,很可能是详细介绍了这个问题的解决方案。...

    Nginx一个IP如何配置多个站点的方法教程

    在一个IP上通过对端口区分来配置多个站点。 环境初始化目录一览配置站点准备添加配置文件疑难杂项fastcgi_passNginxphp-fpm的进程间通信有两种方式总结 环境 手头上正好有一台阿里云学生机,趁着没过期,就拿来用吧...

    详解NGINX如何统计网站的PV、UV、独立IP

    Nginx: PV、UV、独立IP 做网站的都知道,平常经常要查询下网站PV、UV等网站的访问数据,当然如果网站做了CDN的话,nginx本地的日志就没什么意义了,下面就对nginx网站的日志访问数据做下统计; 概念: UV(Unique ...

    nginx+lua+redis通过匹配客户端ip进行灰度发布

    nginx+lua+redis通过匹配客户端ip进行灰度发布 本文将讲述如何使用nginx、lua和redis来实现灰度发布,通过匹配客户端IP来实现灰度发布。灰度发布是一种常见的软件发布方式,它允许开发者在生产环境中发布新的版本,...

    java的web项目的war包实现nginx+tomcat+https的快速和安全的配置

    3. Nginx 配置文件的编写:在 /usr/local/nginx/conf/nginx.conf 文件中添加配置信息,包括用户、工作进程数、错误日志、事件处理、HTTP 服务器配置等。 4. Nginx 的负载均衡配置:使用 upstream 指令来配置负载...

    在Android app中集成nginx,非JNI

    在这个过程中,我们不使用JNI(Java Native Interface)来实现,而是主要通过Java代码来管理nginx的运行。 首先,了解nginx的基本概念是必要的。nginx是一款高性能的Web服务器,它以其轻量级、高并发和低内存占用而...

    nginx+ffmpeg流媒体服务器(java)

    基于java搭建的流媒体服务器(nginx+ffmpeg)可运行在linux上,具体文章说明:https://blog.csdn.net/weixin_40263855/article/details/87917484

    Nginx作为反向代理时传递客户端IP的设置方法

    因为架构的需要采用多级 Nginx 反向代理,但是后端的程序获取到的客户端 IP 都是前端 Nginx 的 IP,问题的根源在于后端的 Nginx 在 HTTP Header 中取客户端 IP 时没有取对正确的值。 同样适用于前端是 Squid 或者...

    nginx跨域问题,解决多端口,多ip问题

    服务器配置:在服务器配置中,需要配置 Nginx 的端口和 IP 地址,以确保服务器的安全性。 三、Nginx 配置方面 Nginx 配置方面是解决跨域问题的关键所在。以下是 Nginx 的配置示例: ``` server { listen 80; ...

    2021 Java架构进阶 Nginx企业级教程.txt打包整理.zip

    综合以上,这个压缩包的内容可能是一个全面的Java架构师和Nginx管理员的学习资源,覆盖了从基础理论到实践操作的各个环节,对于提升开发者在Java后端开发和Nginx运维方面的能力有着重要的指导价值。遗憾的是,"赚钱...

    nginx配置文件-安装客户端ip进行转发

    总的来说,Nginx的配置文件允许我们灵活地管理网络流量,通过`proxy_pass`指令和相关的头信息设置,我们可以确保客户端IP信息在转发过程中得到保留。这在需要追踪用户行为、实施安全策略或者进行负载均衡时尤其有用...

    nginx配置tcp转发(nginx通过白名单访问)

    在Nginx中配置TCP转发,可以将客户端的TCP请求透明地转发到后端服务器,实现负载均衡、安全控制等功能。 要配置Nginx进行TCP代理转发,我们需要创建一个新的Nginx配置文件,通常放在`/etc/nginx/conf.d/`目录下,...

    nginx-tomcat整合实现JAVA程序负载均衡

    在Java Web应用领域,Nginx作为前端反向代理服务器,Tomcat作为后端应用服务器,两者结合可以有效地实现负载均衡,提升系统性能。 #### 二、Nginx与Tomcat简介 **Nginx** 是一款高性能的HTTP和反向代理Web服务器,...

    使用slb后nginx、apache获取真实ip.docx

    但是,在 SLB 后,Nginx 或 Apache 服务器无法直接获取用户的真实 IP 地址,因为用户的请求是通过 SLB 转发到服务器的。为了解决这个问题,我们可以使用 Nginx 的 http_realip_module 模块或 Apache 的 mod_rpaf ...

    nginx ip 过滤访问限制

    python脚本 从nginx的访问log,获取访问IP,记录到redis,根据IP访问数量判断是否存在安全问题,记录不正常IP,(写入到防火墙过滤-待完成)

Global site tag (gtag.js) - Google Analytics