因项目需要做tomcat2台机器的负载均衡,配置好负载环境后,发现tomcat的日志一律是我前置nginx代理服务器的ip

通过百度教材发现需要修改nginx的配置文件,修改代理头信息,传递给后方,后方进行获取即可。

类似教材网上很多。我经过试验也发现能用。大概的思路就行

nginx配置文件location /  处需要增加 proxy_set_header X-Real-IP $remote_addr;参数

然后tomcat 的配置文件server.xml日志定义那里需要增加%{X-Real-IP}i 字段,然后分别重启nginx和tomcat服务,

tomcat访问日志就可以获取到客户端真实ip。具体教程参考百度教材。

我想说的是 这里的X-Real-IP 其实可以是任意的关键字,比如zhenshiip,只要前后照应即可,亲测可以获取。

nginx做负载均衡 tomcat获得客户端真实ip的更多相关文章

  1. 使用haproxy做负载均衡时保持客户端真实的IP

    haproxy里添加设置项 option forwardfor option httpclose apache的日志格式修改 LogFormat "MY IP=%{X-Forwarded-F ...

  2. nginx做负载均衡和tomcat简单集群

    Nginx做负载均衡和TOMCAT简单集群                1.下载安装nginx及其依赖包                                               ...

  3. 死磕nginx系列--使用nginx做负载均衡

    使用nginx做负载均衡的两大模块: upstream 定义负载节点池. location 模块 进行URL匹配. proxy模块 发送请求给upstream定义的节点池. upstream模块解读 ...

  4. 使用nginx做负载均衡的session共享问题

    查了一些资料,看了一些别人写的文档,总结如下,实现nginx session的共享PHP服务器有多台,用nginx做负载均衡,这样同一个IP访问同一个页面会被分配到不同的服务器上,如果session不 ...

  5. nginx做负载均衡配置文件

    nginx做负载均衡是在反向代理的基础上做的,代码如下: ## Basic reverse proxy server ## ## Apache backend for www.baidu.com ## ...

  6. K2使用Nginx做负载均衡

    K2使用Nginx做负载均衡 K2目前是支持Load Balancing这种方式,来做负载均衡,也可以使用F5来做负载均衡,但这次我使用nginx来实现K2的负载均衡 下载nginx 请下载nginx ...

  7. 解决docker中使用nginx做负载均衡时并发过高时的一些问题

    # 解决docker中使用nginx做负载均衡时并发过高时的一些问题 1.问题产生原因: 由于通过nginx作为负载均衡服务,在访问并发数量达到一定量级时jmeter报错. nginx日志关键信息:a ...

  8. nginx前端负载,后端apache获取真实IP设置

    原文链接: nginx前端负载,后端apache获取真实IP设置 参考文献: 前端Nginx,后端Apache获取用户真实IP地址  按照第二种方法设置不成功! 网站最前端是nginx,做的PROXY ...

  9. nginx 代理模式下,获取客户端真实IP

    最近做博友推荐,发现个小问题,用$_SERVER['REMOTE_ADDR'];得到的都是服务器的地址192.168.96.52,搜索了一下,发现问题,改为$_SERVER['HTTP_X_REAL_ ...

随机推荐

  1. jquery获取、设置、删除cookie

    获取cookie: function getCookie(cname) { var name = cname + "="; var ca = document.cookie.spl ...

  2. tomcat 嵌入式

    背景 开源世界真是有意思,竟然还有这种玩法.以前一直想bs程序如何像cs程序作为安装包形式,这个就是个解决方案. 知识点 将tomcat嵌入到主程序中进行运行,而不是像以前将一个web项目copy到t ...

  3. Openssl源代码整理学习

    一.基础知识 1.Openssl 简史 OpenSSL项目是加拿大人Eric A.Yang 和Tim J.Hudson开发,现在有Openssl项目小组负责改进和维护:他们是全球一些技术精湛的志愿技术 ...

  4. windows的tasklist使用

    获取进程信息 tasklist # tasklist |findstr java.exe 杀死进程 方式1,通过进行pid杀死: taskkill /pid 4612 /f 方式2,通过名称杀死: t ...

  5. 前端 ---BOM的介绍

    BOM的介绍 JavaScript基础分为三个部分: ECMAScript:JavaScript的语法标准.包括变量.表达式.运算符.函数.if语句.for语句等. DOM:文档对象模型,操作网页上的 ...

  6. Servlet随笔

    HttpServlet中的getRequestURL.getRequestURI.getContextPath方法获取的字符串为 jsp文件会被编译成一个Servlet,该Servlet继承自Http ...

  7. 微信小程序商业级实战

    1.微信开放能力:微信支付.微信登录.二维码生成.分享

  8. js——prototype、__proto__、constructor

                                       Object                                    1. Object是一个函数(typeof O ...

  9. python1114string_test

    #! -*- coding:utf-8 -*- str = "self_learn"print(type(str))str.title()print(str.title()) # ...

  10. Oracle11g 启动数据库实例、关闭数据库实例

    Oracle11g 启动数据库实例        startup 1: nomount 模式:      描述:             该模式只会创建实例(即:创建oracle 实例的各种内存结构和 ...