IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

标签:X-Forwarded-For

共 2 篇相关文章

IT 累计浏览 3,041

在tomcat应用中获得原始IP

这篇讲的是如何在使用 Apache/Nginx 作为反向代理的 Tomcat 应用中,重新获取被代理层“吃掉”的客户端原始信息。作者从实际场景出发,指出 Apache 代理后,Tomcat 得不到客户端的真实 IP、主机名和是 HTTP 还是 HTTPS 协议,这会给生成绝对重定向 URL 和页面资源链接带来麻烦。 文章的核心方案分两步:先在 Apache 端配置,通过 `ProxyPreserveHost` 转发原始 Host 头,并添加 `X-Forwarded-Proto` 等自定义头部来传递协议等信息。然后,在 Tomcat 端配置 `RemoteIpValve`,让它能智能地“读懂”并应用这些从代理转发过来的头部,从而在 `HttpServletRequest` 中还原出真实的客户端信息。 文章还贴心地附上了测试用的 Servlet 代码和对比结果。测试表明,配置完成后,无论前端是 HTTP 还是 HTTPS 访问,Tomcat 都能正确获取到原始 IP 和协议类型。这套组合配置为解决代理环境下的应用逻辑判断提供了清晰有效的路径。

IT 累计浏览 5,967

当网站使用CDN后获取客户端真实IP的方法

这篇讲的是,在网站接入CDN之后,由于所有流量都经过了CDN节点代理,服务器端日志里记录的“用户IP”都变成了CDN节点的地址,导致需要真实IP的业务(如精准风控、日志分析、广告归因)无法正常运作。 文章系统梳理了几种主流的解决方案,从修改Web服务器(如Nginx)配置以读取特定HTTP头信息(如 `X-Forwarded-For`),到调整架构部署模式,再到利用一些专用模块,作者对比了它们的实现原理、配置复杂度以及在高并发场景下的性能表现。 特别值得注意的是,文章并非只罗列了方法,还点明了每种方案的适用边界。比如,直接读取HTTP头在简单架构下最便捷,但前提是CDN服务商要传递并支持该头信息;而更复杂的架构调整则可能为更彻底地解决多层代理下的IP溯源问题提供了思路。对于正在运维或开发需要精确用户识别的系统的工程师来说,这些对比和场景分析提供了清晰的决策参考。