Tomcat 获取客户端真实IP X-Forwarded-For

Tomcat 获取客户端真实IP X-Forwarded-For

代码实现:

在Host标签下面添加代码:

java 复制代码
<Valve className="org.apache.catalina.valves.RemoteIpValve" remoteIpHeader="x-forwarded-for"  remoteIpProxiesHeader="x-forwarded-by" />

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%{X-Forwarded-For}i %a %t %r %s %b"  />
1. 确保Tomcat识别真实IP地址

首先,你需要确保Tomcatserver.xml文件中配置了RemoteIpValve,以便Tomcat能够识别并信任代理服务器(如Nginx)传递的X-Forwarded-For头部中的客户端IP地址。这部分配置已经在之前的回答中详细描述过。

2.配置Tomcat日志记录IP地址

Tomcat的日志记录通常是通过logging.properties文件来配置的,该文件位于Tomcat的conf目录下。你可以编辑这个文件来添加或修改日志记录器(logger),以便记录包含客户端IP地址的日志条目。

注意:要确保Nginx或其他代理服务器正确配置了X-Forwarded-For头部,以便它包含客户端的真实IP地址。

相关推荐
万亿少女的梦1686 分钟前
基于Spring Boot的游戏交易管理系统设计与实现
java·spring boot·mysql·系统设计·交易管理
闲猫35 分钟前
Agent工程实践:从WorkFlow到多Agent协作的落地笔记
java·服务器·前端
笨蛋不要掉眼泪1 小时前
Java虚拟机:常用参数
java·开发语言·python
tiantianuser1 小时前
NVME-oF IP 设计9 :为什么选RDMA传输?
网络·网络协议·tcp/ip
亦暖筑序1 小时前
AgentScope-Java 入门:用 Middleware 审计 Agent 调用
java·ai编程·agentscope
你驴我2 小时前
WhatsApp 消息撤回与编辑的幂等性设计实践
java·服务器·前端·后端·python
青山木2 小时前
Hot 100 ---腐烂的橘子
java·数据结构·后端·算法·leetcode·广度优先
小龙报2 小时前
【优选算法】1. 水果成蓝 2.找到字符串中所有字母的异位词
java·c语言·数据结构·数据库·c++·redis·算法
自强的小白3 小时前
重点!起始时间和结束时间与创建时间和修改时间的区别(localdate与LocaldateTIME区别)以及增删改查什么时候设置目前时间(添加和更新员工时)
java
雪的季节3 小时前
Python 线程同步与异步编程 全解析
java·开发语言