`
jsczxy2
  • 浏览: 1280334 次
  • 性别: Icon_minigender_1
  • 来自: 常州
文章分类
社区版块
存档分类
最新评论

nginx前端代理tomcat取真实客户端IP

阅读更多

 

      使用Nginx作为反向代理时,Tomcat的日志记录的客户端IP就不在是真实的客户端IP,而是Nginx代理的IP。要解决这个问题可以在Nginx配置一个新的Header,用来存储$remote_add,然后再Tomcat获取记录这个值。

1.Nginx新增配置:

 

server {
    listen 80;
    server_name www.xxxxx.com;
    location / {
        proxy_pass http://IP:8080/;
        proxy_set_header X-Real-IP $remote_addr;
        }
} 
 

可以参见:http://wiki.nginx.org/NginxHttpProxyModule

其实就是新增了一个名为X-Real-IP值为真实客户端IP的头信息。

 

2.修改tomcat日志配置:(<host></host>中间)

 

<Valve className="org.apache.catalina.valves.AccessLogValve"  directory="logs"  prefix="tomcat_access_log." suffix=".txt"  pattern="%a %r %t %{X-Real_IP}i" resolveHosts="false"/> 
 

可以参见:http://www.docjar.org/docs/api/org/apache/catalina/valves/AccessLogValve.html

没有Nginx这一层的时候直接用%a就可以获得客户端IP,现在我们得用%{X-Real-IP}i 来获得真实的IP了。

转载至:http://oraclestudy.iteye.com/blog/1232858

分享到:
评论

相关推荐

    Nginx1.15.3+Tomcat9.0.11前后端分离

    3. **反向代理**:Nginx接收来自客户端的请求,然后转发给Tomcat处理动态内容,隐藏了后端服务的真实地址,增强了安全性。 4. **缓存**:Nginx还可以缓存部分动态内容的响应,减少对后端服务器的请求次数,提高性能...

    Nginx和Tomcat集群环境部署

    - **IP哈希**:根据客户端IP地址进行哈希计算,使得来自同一个客户端的请求被定向到同一台服务器。 #### 十一、总结 通过上述步骤,我们成功地在Windows环境下部署了一个由Nginx和Tomcat组成的简单集群。这种方式...

    Nginx+keepalived+tomcat实现性负载均衡(包含需要的包)

    这个方案的核心思想是利用Nginx作为前端反向代理服务器,通过keepalived来确保服务的高可用性,并将请求分发到多个后端的Tomcat应用服务器,从而提升系统的并发处理能力和稳定性。 首先,Nginx是一个开源的高性能...

    nginx1.8+tomcat8轻量级占用内存少集群负载均衡配置

    通过反向代理,Nginx可以接收来自客户端的请求,并将这些请求转发到后端的Tomcat服务器进行处理,从而减轻了前端服务器的压力,提高了系统的响应速度。 Tomcat是Apache软件基金会的开源Java Servlet容器,主要处理...

    Nginx+KeepAlived+Tomcat负载架构

    - 可以使用`ip_hash`指令实现基于客户端IP的会话保持。 ##### 2. KeepAlived配置 - **配置文件**:编辑`/etc/keepalived/keepalived.conf`文件,定义VRRP实例。 - 设置主备状态,定义健康检查等参数。 #### 五、...

    Nginx结合Tomcat的jar包

    Nginx作为前端服务器,通常部署在靠近网络边缘的位置,负责接收客户端请求,并根据配置策略将请求转发到后端的Tomcat服务器。这种架构可以有效分摊服务器压力,提高系统的可用性和响应速度。 在标题中提到的“Nginx...

    nginx+tomcat+ssl实现负载均衡

    Nginx作为前端反向代理服务器,处理静态内容和客户端请求,将动态请求转发到后端的Tomcat应用服务器,同时通过SSL(Secure Socket Layer)协议确保数据传输的安全性。 **Nginx** Nginx 是一个高性能的HTTP和反向...

    nginx+tomcat8 ssl使用https访问

    首先,Nginx通常作为前端服务器,负责处理网络请求,包括SSL终止,即接收来自客户端的HTTPS请求并将其转换为HTTP请求转发给后端的Tomcat服务器。这样做可以减轻Tomcat的负载,因为它不再需要处理加密和解密的工作。 ...

    Nginx+Tomcat9搭建负载均衡实例,解压即可运行

    Nginx作为反向代理,处理客户端请求并分发给后端的Tomcat9实例,从而提高了服务的可用性和效率。实际生产环境中,可以根据需要扩展更多的Tomcat实例,或者与其他服务器如Apache、Jetty等配合,构建更复杂的分布式...

    Nginx+Tomcat+Redis搭建均衡负载集群

    在集群中,Nginx通常部署在最前端,负责接收客户端请求,并根据预设策略将请求分发到后端的Tomcat服务器上。这可以实现负载均衡,避免单个服务器过载,提高整体系统的稳定性和响应速度。 **Tomcat** Tomcat是Apache...

    Nginx+Redis+Tomcat 集群部署

    Nginx,作为前端的反向代理服务器,主要负责接收客户端的请求,根据预设的策略(如轮询、最少连接数等)将请求分发到后端的Tomcat服务器集群,减轻了单个服务器的压力,实现了负载均衡。同时,Nginx还具备静态资源...

    nginx+tomcat负载、集群简单搭建

    - Nginx作为前端服务器,可以很好地处理静态资源,减轻Tomcat服务器的压力。 - 利用Nginx实现负载均衡,可以在多台Tomcat服务器之间均衡地分配请求,提高系统的整体处理能力。 #### 四、注意事项 - 在实际生产...

    Nginx 集群 tomcat session 共享配置有源码

    1. Nginx:作为前端反向代理服务器,负责接收用户的请求,并根据负载均衡策略将请求分发到不同的Tomcat实例。 2. Tomcat:作为Java应用服务器,处理业务逻辑和用户请求,生成并管理session。 3. Redis:作为分布式...

    Nginx Keepalived Tomcat MySQL高可用负载均衡Web应用架构实践.pdf

    当服务器1(master)正常工作时,客户端对vip的访问,先经过服务器1中的Nginx,Nginx根据配置的负载均衡策略,再将请求转发到服务器3或者4中的Tomcat进行处理,Tomcat完成数据库操作后,将响应结果直接返回给客户端...

    nginx-配置多个tomcat

    本示例中的"nginx-配置多个tomcat"就是这样一个应用场景,它涉及到Nginx和Tomcat两个核心组件,以及如何通过Nginx作为反向代理来管理多个Tomcat实例。 **Nginx** 是一款高性能的HTTP和反向代理服务器,以其轻量级、...

    nginx+tomcat集群所需软件

    2. **反向代理**:Nginx可以将客户端的请求转发给Tomcat处理,这样客户端无需直接与Tomcat交互,增强了系统的安全性和可扩展性。 3. **负载均衡**:通过配置Nginx的负载均衡策略(如轮询、最少连接、IP哈希等),...

    Nginx与Tomcat配置实现负载均衡.zip

    配置Nginx作为前端代理,将HTTP请求分发到后台的多个Tomcat实例,这样可以实现负载均衡。 以下是配置Nginx负载均衡的基本步骤: 1. **安装Nginx**:在你的服务器上安装Nginx,确保它能够正常启动和运行。 2. **...

    NGINX和tomcat配置

    Nginx作为前端服务器,负责接收来自客户端的HTTP请求,通过反向代理功能将这些请求分发到后端的多个Tomcat实例上,从而实现负载均衡。与Apache相比,Nginx的配置更简洁,更专注于反向代理和静态资源的处理。 在配置...

    nginx和memcached配置tomcat的jar包

    在构建高性能的Web服务时,通常会...Nginx作为前端处理静态资源和反向代理,Memcached作为缓存层提高数据访问速度,而Tomcat则负责处理动态请求和应用逻辑。正确配置和管理jar包,能够确保系统的稳定运行和性能优化。

    nginx+tomcat集群

    【Nginx+Tomcat集群】是常见的Java Web服务架构,这种组合利用Nginx作为前端反向代理服务器,负责接收客户端请求,并将这些请求分发到后端多个Tomcat实例,实现负载均衡,提高系统可用性和响应速度。以下是详细的...

Global site tag (gtag.js) - Google Analytics