Nginx 防止IP伪造,绕过IP限制

背景介绍

在使用Nginx时,需要将IP地址转发到后置应用中,往往需要增加配置

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

在后端程序通过读取请求头里的X-Forwarded-For来获取用户客户端IP。

java 复制代码
public String getRemortIP(HttpServletRequest request) { 
  if (request.getHeader("x-forwarded-for") == null) { 
    return request.getRemoteAddr(); 
  } 
  return request.getHeader("x-forwarded-for"); 
}

但是,这个X-Forwarded-For可以通过修改报文来伪造IP。

解决办法

Nginx中增加配置

proxy_set_header X-Real-IP $remote_addr; #让WEB取得原始请求IP

代码中取客户端IP

java 复制代码
String clientIp = request.getHeader("X-Real-IP");
相关推荐
落羽的落羽几秒前
【Linux系统】磁盘ext文件系统与软硬链接
linux·运维·服务器·数据库·c++·人工智能·机器学习
码客研究员几秒前
Kafka(05)搭建高可用Kafka集群:从三台服务器开始
服务器·kafka·linq
Codefengfeng3 分钟前
Kali-linux中安装与使用Stegsolve
linux·运维·服务器
桂花很香,旭很美4 分钟前
[7天实战入门Go语言后端] Go 后端实战踩坑与解法手册
服务器·网络·golang
tritone26 分钟前
初探云原生:在阿贝云免费服务器上学习负载均衡的实践心得
服务器·学习·云原生
何中应2 小时前
如何在 Linux 系统中设置系统时间
linux·运维·服务器
予枫的编程笔记2 小时前
【Docker高级篇】吃透Linux底层:Namespace做隔离,Cgroups控资源,UnionFS搭存储
linux·人工智能·namespace·cgroups·unionfs·linux底层原理·容器核心技术
破无差2 小时前
第十一天:技能装载 —— 接入 MCP 生态与工具路由
服务器
雪碧聊技术2 小时前
4.CA证书的介绍?
运维·服务器
Web极客码2 小时前
如何使用 Sugar Calendar 插件打造一个可销售活动门票的 WordPress 网站
运维·服务器