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");
相关推荐
小虾米vivian5 分钟前
dmetl5 web管理平台 监控-流程监控 看不到运行信息
linux·服务器·网络·数据库·达梦数据库
知码者5 分钟前
对于Thinkphp5可能遇到的保存问题
服务器·php·apache·小程序开发·跨平台小程序
TG:@yunlaoda360 云老大6 分钟前
如何将外部镜像文件导入华为云国际站代理商的IMS服务?
linux·运维·华为云
怀旧,8 分钟前
【Linux系统编程】13. Ext系列⽂件系统
android·linux·缓存
Vect__10 分钟前
Linux常见工具使用
linux·服务器
加成BUFF16 分钟前
树莓派安装下载及远程连接(共用手机热点)(SSH)(VNC)
linux·计算机·ssh·bash·树莓派·vnc
苹果醋324 分钟前
Java设计模式实战:从面向对象原则到架构设计的最佳实践
java·运维·spring boot·mysql·nginx
wanhengidc26 分钟前
裸金属服务器都有哪些优势?
运维·服务器·安全·智能手机·生活
Jamesvalley26 分钟前
【centos】安装python3.12
linux·运维·centos
凯子坚持 c42 分钟前
Redis 数据库的服务器部署与 MCP 智能化交互深度实践指南
服务器·数据库·redis