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地址。

相关推荐
嵌入式阿蔡19 小时前
面试高频考点 01:volatile / 中断 / 堆栈 八股精讲
java·面试·职场和发展·嵌入式实时数据库
秋饼19 小时前
LangChain4j + Java 实现企业级 Text-to-SQL 智能问数系统:从自然语言到安全可控的数据洞察
java·ai·技术分享·后端开发
Escalating_xu20 小时前
【C++ STL简介】从六大组件到容器、迭代器与算法协作
java·c++·算法
何以解忧,唯有..20 小时前
Python os模块详解:文件与目录操作指南
java·服务器·python
Csxyzj20 小时前
kubernetes集群部署方法
java·linux·kubernetes
SQL-First布道者20 小时前
全面解构传统持久层框架,拥抱真正的 SQL-First
java·数据库·spring boot·sql·spring·mybatis·spring jdbc
Loongproxy20 小时前
2026年动态IP代理真实可用率怎么横评?爬虫选代理的关键是什么
服务器·网络·网络协议·tcp/ip
小蒜学长21 小时前
vue旅游攻略网站(代码+数据库+LW)
java·数据库·vue.js·spring boot·后端·旅游
凤山老林21 小时前
轻量级规则引擎落地:Spring Boot 集成 LiteFlow 实现动态业务编排与热更新
java·spring boot·后端·规则引擎·liteflow
夏贰四21 小时前
管控数据加载调度如何规避任务冲突?数据加载运维监控体系该如何搭建?
java·大数据·运维