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

相关推荐
兆子龙27 分钟前
ahooks useRequest 深度解析:一个 Hook 搞定所有请求
java·javascript
兆子龙29 分钟前
React Suspense 从入门到实战:让异步加载更优雅
java·javascript
咕白m6253 小时前
Java 实现 Excel 转 HTML:完整示例
java
RealPluto3 小时前
Spring AOP 失效排查
java·spring
码路飞4 小时前
热榜全是 OpenClaw,但我用 50 行 Python 就造了个桌面 AI Agent 🤖
java·javascript
Nyarlathotep01134 小时前
LinkedList源码分析
java·后端
用户8307196840824 小时前
Java 告别繁琐数据统计代码!MySQL 8 窗口函数真香
java·sql·mysql
带刺的坐椅5 小时前
SolonCode v0.0.20 发布 - 编程智能体(新增子代理和浏览器能力)
java·ai·agent·solon·solon-ai·claude-code·openclaw
会员源码网6 小时前
数字格式化陷阱:如何优雅处理 NumberFormatException
java
孔明click336 小时前
Sa-Token v1.45.0 发布 🚀,正式支持 Spring Boot 4、新增 Jackson3/Snack4 插件适配
java·sa-token·开源·springboot·登录·权限认证